/src/scnlib/include/scn/scan.h
Line | Count | Source (jump to first uncovered line) |
1 | | // Copyright 2017 Elias Kosunen |
2 | | // |
3 | | // Licensed under the Apache License, Version 2.0 (the "License"); |
4 | | // you may not use this file except in compliance with the License. |
5 | | // You may obtain a copy of the License at |
6 | | // |
7 | | // https://www.apache.org/licenses/LICENSE-2.0 |
8 | | // |
9 | | // Unless required by applicable law or agreed to in writing, software |
10 | | // distributed under the License is distributed on an "AS IS" BASIS, |
11 | | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12 | | // See the License for the specific language governing permissions and |
13 | | // limitations under the License. |
14 | | // |
15 | | // This file is a part of scnlib: |
16 | | // https://github.com/eliaskosunen/scnlib |
17 | | |
18 | | #pragma once |
19 | | |
20 | | // Includes <cassert>, <cstddef>, <cstdint>, and <type_traits> |
21 | | #include <scn/fwd.h> |
22 | | |
23 | | #include <array> |
24 | | #include <cstdio> |
25 | | #include <cstring> |
26 | | #include <iterator> |
27 | | #include <limits> |
28 | | #include <optional> |
29 | | #include <string> |
30 | | #include <string_view> |
31 | | #include <tuple> |
32 | | |
33 | | ///////////////////////////////////////////////////////////////// |
34 | | // <expected> implementation |
35 | | ///////////////////////////////////////////////////////////////// |
36 | | |
37 | | // The following implementation of expected is based on TartanLlama/expected, |
38 | | // but is heavily modified. |
39 | | // |
40 | | // The original source is here: |
41 | | // https://github.com/TartanLlama/expected |
42 | | // which is licensed under CC0 (Public Domain). |
43 | | |
44 | | namespace scn { |
45 | | SCN_BEGIN_NAMESPACE |
46 | | |
47 | | ///////////////////////////////////////////////////////////////// |
48 | | // Metaprogramming facilities |
49 | | ///////////////////////////////////////////////////////////////// |
50 | | |
51 | | namespace detail { |
52 | | |
53 | | template <typename T> |
54 | | using integer_type_for_char = |
55 | | std::conditional_t<std::is_signed_v<T>, int, unsigned>; |
56 | | |
57 | | template <typename T, template <typename...> class Templ> |
58 | | struct is_specialization_of_impl : std::false_type {}; |
59 | | template <typename... T, template <typename...> class Templ> |
60 | | struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {}; |
61 | | |
62 | | template <typename T, template <typename...> class Templ> |
63 | | using is_specialization_of = |
64 | | is_specialization_of_impl<remove_cvref_t<T>, Templ>; |
65 | | template <typename T, template <typename...> class Templ> |
66 | | inline constexpr bool is_specialization_of_v = |
67 | | is_specialization_of<T, Templ>::value; |
68 | | |
69 | | // from mp11: |
70 | | |
71 | | template <typename T> |
72 | | struct mp_identity { |
73 | | using type = T; |
74 | | }; |
75 | | template <typename T> |
76 | | using mp_identity_t = typename mp_identity<T>::type; |
77 | | |
78 | | template <bool B> |
79 | | using mp_bool = std::integral_constant<bool, B>; |
80 | | template <typename T> |
81 | | using mp_to_bool = mp_bool<static_cast<bool>(T::value)>; |
82 | | template <typename T> |
83 | | using mp_not = mp_bool<!T::value>; |
84 | | |
85 | | template <bool C, typename T, typename... E> |
86 | | struct mp_if_c_impl; |
87 | | template <typename T, typename... E> |
88 | | struct mp_if_c_impl<true, T, E...> { |
89 | | using type = T; |
90 | | }; |
91 | | template <typename T, typename E> |
92 | | struct mp_if_c_impl<false, T, E> { |
93 | | using type = E; |
94 | | }; |
95 | | |
96 | | template <bool C, typename T, typename... E> |
97 | | using mp_if_c = typename mp_if_c_impl<C, T, E...>::type; |
98 | | template <typename C, typename T, typename... E> |
99 | | using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type; |
100 | | |
101 | | template <template <typename...> class F, typename... T> |
102 | | struct mp_valid_impl { |
103 | | template <template <typename...> class G, typename = G<T...>> |
104 | | static std::true_type check(int); |
105 | | template <template <typename...> class> |
106 | | static std::false_type check(...); |
107 | | |
108 | | using type = decltype(check<F>(0)); |
109 | | }; |
110 | | |
111 | | template <template <typename...> class F, typename... T> |
112 | | using mp_valid = typename mp_valid_impl<F, T...>::type; |
113 | | template <template <typename...> class F, typename... T> |
114 | | inline constexpr bool mp_valid_v = mp_valid<F, T...>::value; |
115 | | |
116 | | struct mp_nonesuch {}; |
117 | | template <template <typename...> class F, typename... T> |
118 | | struct mp_defer_impl { |
119 | | using type = F<T...>; |
120 | | }; |
121 | | |
122 | | template <template <typename...> class F, typename... T> |
123 | | using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>; |
124 | | |
125 | | template <bool C, class T, template <class...> class F, class... U> |
126 | | struct mp_eval_if_c_impl; |
127 | | |
128 | | template <class T, template <class...> class F, class... U> |
129 | | struct mp_eval_if_c_impl<true, T, F, U...> { |
130 | | using type = T; |
131 | | }; |
132 | | |
133 | | template <class T, template <class...> class F, class... U> |
134 | | struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {}; |
135 | | |
136 | | template <bool C, class T, template <class...> class F, class... U> |
137 | | using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type; |
138 | | template <class C, class T, template <class...> class F, class... U> |
139 | | using mp_eval_if = |
140 | | typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type; |
141 | | template <class C, class T, class Q, class... U> |
142 | | using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value), |
143 | | T, |
144 | | Q::template fn, |
145 | | U...>::type; |
146 | | |
147 | | // mp_eval_if_not |
148 | | template <class C, class T, template <class...> class F, class... U> |
149 | | using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>; |
150 | | template <class C, class T, class Q, class... U> |
151 | | using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>; |
152 | | |
153 | | // mp_eval_or |
154 | | template <class T, template <class...> class F, class... U> |
155 | | using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>; |
156 | | template <class T, class Q, class... U> |
157 | | using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>; |
158 | | |
159 | | // mp_valid_and_true |
160 | | template <template <class...> class F, class... T> |
161 | | using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>; |
162 | | template <class Q, class... T> |
163 | | using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>; |
164 | | |
165 | | // extension |
166 | | template <template <typename...> class F, typename... T> |
167 | | using mp_valid_result = |
168 | | mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>; |
169 | | template <template <typename...> class F, typename... T> |
170 | | using mp_valid_result_t = typename mp_valid_result<F, T...>::type; |
171 | | |
172 | | ///////////////////////////////////////////////////////////////// |
173 | | // pointer_traits and to_address |
174 | | ///////////////////////////////////////////////////////////////// |
175 | | |
176 | | template <typename Ptr, typename> |
177 | | struct pointer_traits {}; |
178 | | |
179 | | template <typename T> |
180 | | struct pointer_traits<T*, void> { |
181 | | using pointer = T*; |
182 | | using element_type = T; |
183 | | using difference_type = std::ptrdiff_t; |
184 | | |
185 | | template <typename U> |
186 | | using rebind = U*; |
187 | | |
188 | | template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr> |
189 | | static constexpr pointer pointer_to(U& r) noexcept |
190 | | { |
191 | | return &r; |
192 | | } |
193 | | |
194 | | SCN_FORCE_INLINE static constexpr pointer to_address(pointer p) noexcept |
195 | | { |
196 | | return p; |
197 | | } |
198 | | }; |
199 | | |
200 | | template <typename Ptr> |
201 | | using apply_member_difference_type = typename Ptr::difference_type; |
202 | | template <typename Ptr> |
203 | | using get_member_difference_type = |
204 | | mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>; |
205 | | |
206 | | template <typename Ptr, typename ElementType> |
207 | | struct pointer_traits_generic_base { |
208 | | using pointer = Ptr; |
209 | | using element_type = ElementType; |
210 | | |
211 | | using difference_type = get_member_difference_type<Ptr>; |
212 | | static_assert(std::is_integral_v<difference_type>); |
213 | | |
214 | | // no rebind (TODO?) |
215 | | |
216 | | template <typename P = Ptr> |
217 | | static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r)) |
218 | | { |
219 | | return Ptr::pointer_to(r); |
220 | | } |
221 | | }; |
222 | | |
223 | | template <typename It, typename = void> |
224 | | struct wrapped_pointer_iterator; |
225 | | |
226 | | #ifdef _GLIBCXX_DEBUG |
227 | | template <typename Elem, typename Container> |
228 | | struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> { |
229 | | SCN_FORCE_INLINE static constexpr auto to_address( |
230 | | const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept |
231 | | { |
232 | | return it.base(); |
233 | | } |
234 | | }; |
235 | | #endif |
236 | | #if SCN_STDLIB_GLIBCXX |
237 | | template <typename Elem, typename Container> |
238 | | struct wrapped_pointer_iterator< |
239 | | __gnu_cxx::__normal_iterator<Elem*, Container>> { |
240 | | SCN_FORCE_INLINE static constexpr auto to_address( |
241 | | const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept |
242 | | { |
243 | | return it.base(); |
244 | | } |
245 | | }; |
246 | | #endif |
247 | | #if SCN_STDLIB_LIBCPP |
248 | | template <typename Elem> |
249 | | struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> { |
250 | | SCN_FORCE_INLINE static constexpr auto to_address( |
251 | | const std::__wrap_iter<Elem*>& it) noexcept |
252 | | { |
253 | | return it.base(); |
254 | | } |
255 | | }; |
256 | | #endif |
257 | | |
258 | | template <typename I> |
259 | | using apply_deref = decltype(*SCN_DECLVAL(I&)); |
260 | | template <typename I> |
261 | | using apply_incr = decltype(++SCN_DECLVAL(I&)); |
262 | | template <typename I> |
263 | | using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped()); |
264 | | template <typename It> |
265 | | struct wrapped_pointer_iterator< |
266 | | It, |
267 | | std::enable_if_t<mp_valid_v<apply_deref, It> && |
268 | | mp_valid_v<apply_incr, It> && |
269 | | mp_valid_v<apply_member_unwrapped, It>>> { |
270 | | SCN_FORCE_INLINE static constexpr auto to_address(const It& it) noexcept |
271 | | { |
272 | | return it._Unwrapped(); |
273 | | } |
274 | | }; |
275 | | |
276 | | template <typename I> |
277 | | using apply_member_to_address = |
278 | | decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&))); |
279 | | |
280 | | template <typename Iterator> |
281 | | struct pointer_traits< |
282 | | Iterator, |
283 | | std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>> |
284 | | : pointer_traits_generic_base< |
285 | | Iterator, |
286 | | std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> { |
287 | | SCN_FORCE_INLINE static constexpr auto to_address( |
288 | | const Iterator& it) noexcept |
289 | | { |
290 | | return wrapped_pointer_iterator<Iterator>::to_address(it); |
291 | | } |
292 | | }; |
293 | | |
294 | | template <typename It> |
295 | | using apply_ptr_traits_to_address = |
296 | | decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&))); |
297 | | template <typename It> |
298 | | inline constexpr bool can_make_address_from_iterator = |
299 | | std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>; |
300 | | |
301 | | template <typename T> |
302 | | SCN_FORCE_INLINE constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept |
303 | 631M | { |
304 | 631M | return p; |
305 | 631M | } char const* scn::v3::detail::to_address_impl<char const>(char const*, scn::v3::detail::priority_tag<2ul>) Line | Count | Source | 303 | 101M | { | 304 | 101M | return p; | 305 | 101M | } |
wchar_t const* scn::v3::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v3::detail::priority_tag<2ul>) Line | Count | Source | 303 | 530M | { | 304 | 530M | return p; | 305 | 530M | } |
|
306 | | template <typename Ptr> |
307 | | SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p, |
308 | | priority_tag<1>) noexcept |
309 | | -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p)) |
310 | | { |
311 | | return ::scn::detail::pointer_traits<Ptr>::to_address(p); |
312 | | } |
313 | | template <typename Ptr> |
314 | | SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p, |
315 | | priority_tag<0>) noexcept |
316 | | -> decltype(::scn::detail::to_address_impl(p.operator->(), |
317 | | priority_tag<2>{})) |
318 | | { |
319 | | return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{}); |
320 | | } |
321 | | |
322 | | template <typename Ptr> |
323 | | SCN_FORCE_INLINE constexpr auto to_address(Ptr&& p) noexcept |
324 | | -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{})) |
325 | 631M | { |
326 | 631M | return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}); |
327 | 631M | } _ZN3scn2v36detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_ Line | Count | Source | 325 | 75.2M | { | 326 | 75.2M | return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}); | 327 | 75.2M | } |
_ZN3scn2v36detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_ Line | Count | Source | 325 | 26.0M | { | 326 | 26.0M | return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}); | 327 | 26.0M | } |
_ZN3scn2v36detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_ Line | Count | Source | 325 | 20.0M | { | 326 | 20.0M | return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}); | 327 | 20.0M | } |
_ZN3scn2v36detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_ Line | Count | Source | 325 | 510M | { | 326 | 510M | return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}); | 327 | 510M | } |
|
328 | | |
329 | | } // namespace detail |
330 | | |
331 | | template <typename E> |
332 | | class SCN_TRIVIAL_ABI unexpected { |
333 | | static_assert(std::is_destructible_v<E>); |
334 | | |
335 | | public: |
336 | | unexpected() = delete; |
337 | | |
338 | | template < |
339 | | typename Err = E, |
340 | | typename = std::enable_if_t<!std::is_same_v<Err, unexpected> && |
341 | | !std::is_same_v<Err, std::in_place_t> && |
342 | | std::is_constructible_v<E, Err>>> |
343 | | explicit constexpr unexpected(Err&& e) noexcept( |
344 | | std::is_nothrow_constructible_v<E, Err>) |
345 | 37.0M | : m_unexpected(std::forward<Err>(e)) |
346 | 57.6M | { |
347 | 57.6M | SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected); |
348 | 57.6M | } scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error&, void>(scn::v3::scan_error&) Line | Count | Source | 345 | 14.0M | : m_unexpected(std::forward<Err>(e)) | 346 | 14.0M | { | 347 | 14.0M | SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected); | 348 | 14.0M | } |
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error, void>(scn::v3::scan_error&&) Line | Count | Source | 345 | 1.06M | : m_unexpected(std::forward<Err>(e)) | 346 | 1.06M | { | 347 | 1.06M | SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected); | 348 | 1.06M | } |
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error, void>(scn::v3::impl::parse_error&&) Line | Count | Source | 345 | 92.2k | : m_unexpected(std::forward<Err>(e)) | 346 | 92.2k | { | 347 | 92.2k | SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected); | 348 | 92.2k | } |
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error&, void>(scn::v3::impl::parse_error&) Line | Count | Source | 345 | 5.33M | : m_unexpected(std::forward<Err>(e)) | 346 | 5.33M | { | 347 | 5.33M | SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected); | 348 | 5.33M | } |
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error, void>(scn::v3::impl::eof_error&&) Line | Count | Source | 345 | 245k | : m_unexpected(std::forward<Err>(e)) | 346 | 245k | { | 347 | 245k | SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected); | 348 | 245k | } |
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error&, void>(scn::v3::impl::eof_error&) Line | Count | Source | 345 | 161k | : m_unexpected(std::forward<Err>(e)) | 346 | 161k | { | 347 | 161k | SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected); | 348 | 161k | } |
scn::v3::unexpected<scn::v3::impl::parse_error::code>::unexpected<scn::v3::impl::parse_error::code, void>(scn::v3::impl::parse_error::code&&) Line | Count | Source | 345 | 36.6M | : m_unexpected(std::forward<Err>(e)) | 346 | 36.6M | { | 347 | 36.6M | SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected); | 348 | 36.6M | } |
|
349 | | |
350 | | template <typename... Args, |
351 | | typename = std::enable_if_t<std::is_constructible_v<E, Args...>>> |
352 | | explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept( |
353 | | std::is_nothrow_constructible_v<E, Args...>) |
354 | 63.4M | : m_unexpected(std::forward<Args>(args)...) |
355 | 63.8M | { |
356 | 63.8M | SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected); |
357 | 63.8M | } scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error, void>(std::__1::in_place_t, scn::v3::scan_error&&) Line | Count | Source | 354 | 21.0M | : m_unexpected(std::forward<Args>(args)...) | 355 | 21.0M | { | 356 | 21.0M | SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected); | 357 | 21.0M | } |
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error, void>(std::__1::in_place_t, scn::v3::impl::parse_error&&) Line | Count | Source | 354 | 5.66M | : m_unexpected(std::forward<Args>(args)...) | 355 | 5.66M | { | 356 | 5.66M | SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected); | 357 | 5.66M | } |
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error::code, void>(std::__1::in_place_t, scn::v3::impl::parse_error::code&&) Line | Count | Source | 354 | 36.6M | : m_unexpected(std::forward<Args>(args)...) | 355 | 36.6M | { | 356 | 36.6M | SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected); | 357 | 36.6M | } |
|
358 | | |
359 | | SCN_NODISCARD constexpr E& error() & noexcept |
360 | 91.4M | { |
361 | 91.4M | return m_unexpected; |
362 | 91.4M | } scn::v3::unexpected<scn::v3::scan_error>::error() & Line | Count | Source | 360 | 28.0M | { | 361 | 28.0M | return m_unexpected; | 362 | 28.0M | } |
scn::v3::unexpected<scn::v3::impl::eof_error>::error() & Line | Count | Source | 360 | 813k | { | 361 | 813k | return m_unexpected; | 362 | 813k | } |
scn::v3::unexpected<scn::v3::impl::parse_error>::error() & Line | Count | Source | 360 | 25.8M | { | 361 | 25.8M | return m_unexpected; | 362 | 25.8M | } |
scn::v3::unexpected<scn::v3::impl::parse_error::code>::error() & Line | Count | Source | 360 | 36.6M | { | 361 | 36.6M | return m_unexpected; | 362 | 36.6M | } |
|
363 | | SCN_NODISCARD constexpr const E& error() const& noexcept |
364 | 0 | { |
365 | 0 | return m_unexpected; |
366 | 0 | } Unexecuted instantiation: scn::v3::unexpected<scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::unexpected<scn::v3::impl::parse_error>::error() const & |
367 | | |
368 | | SCN_NODISCARD constexpr E&& error() && noexcept |
369 | | { |
370 | | return std::move(m_unexpected); |
371 | | } |
372 | | SCN_NODISCARD constexpr const E&& error() const&& noexcept |
373 | | { |
374 | | return std::move(m_unexpected); |
375 | | } |
376 | | |
377 | | private: |
378 | | E m_unexpected; |
379 | | }; |
380 | | |
381 | | template <typename E> |
382 | | unexpected(E) -> unexpected<E>; |
383 | | |
384 | | struct unexpect_t {}; |
385 | | inline constexpr unexpect_t unexpect{}; |
386 | | |
387 | | namespace detail { |
388 | | template <typename T, typename... Args> |
389 | | T* construct_at(T* p, Args&&... args) noexcept( |
390 | | std::is_nothrow_constructible_v<T, Args...>) |
391 | 6.95M | { |
392 | 6.95M | return ::new (const_cast<void*>(static_cast<const volatile void*>(p))) |
393 | 6.95M | T(std::forward<Args>(args)...); |
394 | 6.95M | } scn::v3::unexpected<scn::v3::scan_error>* scn::v3::detail::construct_at<scn::v3::unexpected<scn::v3::scan_error>, std::__1::in_place_t const&, scn::v3::scan_error>(scn::v3::unexpected<scn::v3::scan_error>*, std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 391 | 415k | { | 392 | 415k | return ::new (const_cast<void*>(static_cast<const volatile void*>(p))) | 393 | 415k | T(std::forward<Args>(args)...); | 394 | 415k | } |
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 391 | 312k | { | 392 | 312k | return ::new (const_cast<void*>(static_cast<const volatile void*>(p))) | 393 | 312k | T(std::forward<Args>(args)...); | 394 | 312k | } |
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 391 | 311k | { | 392 | 311k | return ::new (const_cast<void*>(static_cast<const volatile void*>(p))) | 393 | 311k | T(std::forward<Args>(args)...); | 394 | 311k | } |
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 391 | 760 | { | 392 | 760 | return ::new (const_cast<void*>(static_cast<const volatile void*>(p))) | 393 | 760 | T(std::forward<Args>(args)...); | 394 | 760 | } |
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 391 | 760 | { | 392 | 760 | return ::new (const_cast<void*>(static_cast<const volatile void*>(p))) | 393 | 760 | T(std::forward<Args>(args)...); | 394 | 760 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 391 | 257k | { | 392 | 257k | return ::new (const_cast<void*>(static_cast<const volatile void*>(p))) | 393 | 257k | T(std::forward<Args>(args)...); | 394 | 257k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 391 | 1.37k | { | 392 | 1.37k | return ::new (const_cast<void*>(static_cast<const volatile void*>(p))) | 393 | 1.37k | T(std::forward<Args>(args)...); | 394 | 1.37k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 391 | 576 | { | 392 | 576 | return ::new (const_cast<void*>(static_cast<const volatile void*>(p))) | 393 | 576 | T(std::forward<Args>(args)...); | 394 | 576 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 391 | 2.67M | { | 392 | 2.67M | return ::new (const_cast<void*>(static_cast<const volatile void*>(p))) | 393 | 2.67M | T(std::forward<Args>(args)...); | 394 | 2.67M | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 391 | 313k | { | 392 | 313k | return ::new (const_cast<void*>(static_cast<const volatile void*>(p))) | 393 | 313k | T(std::forward<Args>(args)...); | 394 | 313k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 391 | 2.67M | { | 392 | 2.67M | return ::new (const_cast<void*>(static_cast<const volatile void*>(p))) | 393 | 2.67M | T(std::forward<Args>(args)...); | 394 | 2.67M | } |
|
395 | | template <typename T> |
396 | | void destroy_at(T* p) noexcept |
397 | 6.95M | { |
398 | | if constexpr (std::is_array_v<T>) { |
399 | | for (auto& elem : *p) { |
400 | | scn::detail::destroy_at(&elem); |
401 | | } |
402 | | } |
403 | 6.95M | else { |
404 | 6.95M | p->~T(); |
405 | 6.95M | } |
406 | 6.95M | } Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*) void scn::v3::detail::destroy_at<scn::v3::unexpected<scn::v3::scan_error> >(scn::v3::unexpected<scn::v3::scan_error>*) Line | Count | Source | 397 | 415k | { | 398 | | if constexpr (std::is_array_v<T>) { | 399 | | for (auto& elem : *p) { | 400 | | scn::detail::destroy_at(&elem); | 401 | | } | 402 | | } | 403 | 415k | else { | 404 | 415k | p->~T(); | 405 | 415k | } | 406 | 415k | } |
void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*) Line | Count | Source | 397 | 312k | { | 398 | | if constexpr (std::is_array_v<T>) { | 399 | | for (auto& elem : *p) { | 400 | | scn::detail::destroy_at(&elem); | 401 | | } | 402 | | } | 403 | 312k | else { | 404 | 312k | p->~T(); | 405 | 312k | } | 406 | 312k | } |
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*) void scn::v3::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*) Line | Count | Source | 397 | 311k | { | 398 | | if constexpr (std::is_array_v<T>) { | 399 | | for (auto& elem : *p) { | 400 | | scn::detail::destroy_at(&elem); | 401 | | } | 402 | | } | 403 | 311k | else { | 404 | 311k | p->~T(); | 405 | 311k | } | 406 | 311k | } |
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*) void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*) Line | Count | Source | 397 | 760 | { | 398 | | if constexpr (std::is_array_v<T>) { | 399 | | for (auto& elem : *p) { | 400 | | scn::detail::destroy_at(&elem); | 401 | | } | 402 | | } | 403 | 760 | else { | 404 | 760 | p->~T(); | 405 | 760 | } | 406 | 760 | } |
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*) void scn::v3::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*) Line | Count | Source | 397 | 760 | { | 398 | | if constexpr (std::is_array_v<T>) { | 399 | | for (auto& elem : *p) { | 400 | | scn::detail::destroy_at(&elem); | 401 | | } | 402 | | } | 403 | 760 | else { | 404 | 760 | p->~T(); | 405 | 760 | } | 406 | 760 | } |
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*) Line | Count | Source | 397 | 257k | { | 398 | | if constexpr (std::is_array_v<T>) { | 399 | | for (auto& elem : *p) { | 400 | | scn::detail::destroy_at(&elem); | 401 | | } | 402 | | } | 403 | 257k | else { | 404 | 257k | p->~T(); | 405 | 257k | } | 406 | 257k | } |
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*) Line | Count | Source | 397 | 1.37k | { | 398 | | if constexpr (std::is_array_v<T>) { | 399 | | for (auto& elem : *p) { | 400 | | scn::detail::destroy_at(&elem); | 401 | | } | 402 | | } | 403 | 1.37k | else { | 404 | 1.37k | p->~T(); | 405 | 1.37k | } | 406 | 1.37k | } |
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*) Line | Count | Source | 397 | 576 | { | 398 | | if constexpr (std::is_array_v<T>) { | 399 | | for (auto& elem : *p) { | 400 | | scn::detail::destroy_at(&elem); | 401 | | } | 402 | | } | 403 | 576 | else { | 404 | 576 | p->~T(); | 405 | 576 | } | 406 | 576 | } |
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*) Line | Count | Source | 397 | 2.67M | { | 398 | | if constexpr (std::is_array_v<T>) { | 399 | | for (auto& elem : *p) { | 400 | | scn::detail::destroy_at(&elem); | 401 | | } | 402 | | } | 403 | 2.67M | else { | 404 | 2.67M | p->~T(); | 405 | 2.67M | } | 406 | 2.67M | } |
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*) Line | Count | Source | 397 | 313k | { | 398 | | if constexpr (std::is_array_v<T>) { | 399 | | for (auto& elem : *p) { | 400 | | scn::detail::destroy_at(&elem); | 401 | | } | 402 | | } | 403 | 313k | else { | 404 | 313k | p->~T(); | 405 | 313k | } | 406 | 313k | } |
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*) Line | Count | Source | 397 | 2.67M | { | 398 | | if constexpr (std::is_array_v<T>) { | 399 | | for (auto& elem : *p) { | 400 | | scn::detail::destroy_at(&elem); | 401 | | } | 402 | | } | 403 | 2.67M | else { | 404 | 2.67M | p->~T(); | 405 | 2.67M | } | 406 | 2.67M | } |
|
407 | | |
408 | | struct deferred_init_tag_t {}; |
409 | | static constexpr deferred_init_tag_t deferred_init_tag{}; |
410 | | |
411 | | template <typename T, |
412 | | typename E, |
413 | | bool IsTriviallyDestructible = std::is_trivially_destructible_v<T> && |
414 | | std::is_trivially_destructible_v<E>> |
415 | | struct expected_storage_base; |
416 | | |
417 | | template <typename T, typename E> |
418 | | struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> { |
419 | | constexpr expected_storage_base() noexcept( |
420 | | std::is_nothrow_default_constructible_v<T>) |
421 | | : m_value(T{}), m_has_value(true) |
422 | | { |
423 | | } |
424 | | |
425 | | constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept |
426 | | : m_deferred_init(), m_has_value(false) |
427 | | { |
428 | | } |
429 | | |
430 | | template <typename... Args, |
431 | | typename = std::enable_if_t<std::is_constructible_v<T, Args...>>> |
432 | | constexpr explicit expected_storage_base( |
433 | | std::in_place_t, |
434 | | Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>) |
435 | 235M | : m_value(std::forward<Args>(args)...), m_has_value(true) |
436 | 235M | { |
437 | 235M | } scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&) Line | Count | Source | 435 | 3.97M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 3.97M | { | 437 | 3.97M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&) Line | Count | Source | 435 | 297k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 297k | { | 437 | 297k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&) Line | Count | Source | 435 | 283k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 283k | { | 437 | 283k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&) Line | Count | Source | 435 | 384k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 384k | { | 437 | 384k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&) Line | Count | Source | 435 | 325k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 325k | { | 437 | 325k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&) Line | Count | Source | 435 | 392k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 392k | { | 437 | 392k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&) Line | Count | Source | 435 | 329k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 329k | { | 437 | 329k | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&) Line | Count | Source | 435 | 4.03M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 4.03M | { | 437 | 4.03M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&) Line | Count | Source | 435 | 298k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 298k | { | 437 | 298k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&) Line | Count | Source | 435 | 284k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 284k | { | 437 | 284k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&) Line | Count | Source | 435 | 384k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 384k | { | 437 | 384k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&) Line | Count | Source | 435 | 327k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 327k | { | 437 | 327k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&) Line | Count | Source | 435 | 392k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 392k | { | 437 | 392k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&) Line | Count | Source | 435 | 331k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 331k | { | 437 | 331k | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&) Line | Count | Source | 435 | 5.97M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 5.97M | { | 437 | 5.97M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&) Line | Count | Source | 435 | 634 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 634 | { | 437 | 634 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&) Line | Count | Source | 435 | 539 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 539 | { | 437 | 539 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&) Line | Count | Source | 435 | 750 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 750 | { | 437 | 750 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&) Line | Count | Source | 435 | 603 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 603 | { | 437 | 603 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&) Line | Count | Source | 435 | 903 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 903 | { | 437 | 903 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&) Line | Count | Source | 435 | 733 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 733 | { | 437 | 733 | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&) Line | Count | Source | 435 | 3.30M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 3.30M | { | 437 | 3.30M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&) Line | Count | Source | 435 | 634 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 634 | { | 437 | 634 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&) Line | Count | Source | 435 | 539 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 539 | { | 437 | 539 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&) Line | Count | Source | 435 | 750 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 750 | { | 437 | 750 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&) Line | Count | Source | 435 | 603 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 603 | { | 437 | 603 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&) Line | Count | Source | 435 | 903 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 903 | { | 437 | 903 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&) Line | Count | Source | 435 | 733 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 733 | { | 437 | 733 | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&) Line | Count | Source | 435 | 16.2M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 16.2M | { | 437 | 16.2M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&) Line | Count | Source | 435 | 10.0M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 10.0M | { | 437 | 10.0M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&) Line | Count | Source | 435 | 18.9M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 18.9M | { | 437 | 18.9M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&) scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&&) Line | Count | Source | 435 | 6.03M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 6.03M | { | 437 | 6.03M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&) scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&) Line | Count | Source | 435 | 1.68M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.68M | { | 437 | 1.68M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&) Line | Count | Source | 435 | 4.16M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 4.16M | { | 437 | 4.16M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&) Line | Count | Source | 435 | 10.6M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 10.6M | { | 437 | 10.6M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&) Line | Count | Source | 435 | 2.18M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 2.18M | { | 437 | 2.18M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&) Line | Count | Source | 435 | 2.18M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 2.18M | { | 437 | 2.18M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&) Line | Count | Source | 435 | 6.82k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 6.82k | { | 437 | 6.82k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&) scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&) Line | Count | Source | 435 | 5.37k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 5.37k | { | 437 | 5.37k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&) Line | Count | Source | 435 | 2.31k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 2.31k | { | 437 | 2.31k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&) Line | Count | Source | 435 | 5.80M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 5.80M | { | 437 | 5.80M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&) scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&) Line | Count | Source | 435 | 1.18k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.18k | { | 437 | 1.18k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&) Line | Count | Source | 435 | 1.60k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.60k | { | 437 | 1.60k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&) Line | Count | Source | 435 | 888 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 888 | { | 437 | 888 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&) Line | Count | Source | 435 | 888 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 888 | { | 437 | 888 | } |
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v3::impl::sign_type>&&) Line | Count | Source | 435 | 3.77M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 3.77M | { | 437 | 3.77M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<char const*>&&) Line | Count | Source | 435 | 2.17M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 2.17M | { | 437 | 2.17M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<char const*>&&) Line | Count | Source | 435 | 2.17M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 2.17M | { | 437 | 2.17M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&) scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&) Line | Count | Source | 435 | 1.81M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.81M | { | 437 | 1.81M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&) Line | Count | Source | 435 | 87.8k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 87.8k | { | 437 | 87.8k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&) Line | Count | Source | 435 | 292 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 292 | { | 437 | 292 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&) scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v3::impl::sign_type>&&) Line | Count | Source | 435 | 1.55M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.55M | { | 437 | 1.55M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&) scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&) Line | Count | Source | 435 | 1.98k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.98k | { | 437 | 1.98k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&) Line | Count | Source | 435 | 732 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 732 | { | 437 | 732 | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&) Line | Count | Source | 435 | 9.03M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 9.03M | { | 437 | 9.03M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&) scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&) Line | Count | Source | 435 | 3.54M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 3.54M | { | 437 | 3.54M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&) scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&) Line | Count | Source | 435 | 34.5k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 34.5k | { | 437 | 34.5k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&) Line | Count | Source | 435 | 1.27M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.27M | { | 437 | 1.27M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&) Line | Count | Source | 435 | 3.19M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 3.19M | { | 437 | 3.19M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&) Line | Count | Source | 435 | 377k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 377k | { | 437 | 377k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&) Line | Count | Source | 435 | 377k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 377k | { | 437 | 377k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&) Line | Count | Source | 435 | 2.65k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 2.65k | { | 437 | 2.65k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&) scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&) Line | Count | Source | 435 | 2.06k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 2.06k | { | 437 | 2.06k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&) Line | Count | Source | 435 | 1.13k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.13k | { | 437 | 1.13k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&) Line | Count | Source | 435 | 5.71M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 5.71M | { | 437 | 5.71M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&) scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&) Line | Count | Source | 435 | 750 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 750 | { | 437 | 750 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&) Line | Count | Source | 435 | 1.01k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.01k | { | 437 | 1.01k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&) Line | Count | Source | 435 | 570 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 570 | { | 437 | 570 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&) Line | Count | Source | 435 | 570 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 570 | { | 437 | 570 | } |
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&) Line | Count | Source | 435 | 1.26M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.26M | { | 437 | 1.26M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&) Line | Count | Source | 435 | 380k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 380k | { | 437 | 380k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&) Line | Count | Source | 435 | 380k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 380k | { | 437 | 380k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&) scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&) Line | Count | Source | 435 | 877k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 877k | { | 437 | 877k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&) scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&) Line | Count | Source | 435 | 180 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 180 | { | 437 | 180 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&) scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&) Line | Count | Source | 435 | 879k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 879k | { | 437 | 879k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&) scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&) Line | Count | Source | 435 | 248 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 248 | { | 437 | 248 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&) Line | Count | Source | 435 | 252 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 252 | { | 437 | 252 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&) Line | Count | Source | 435 | 2.17k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 2.17k | { | 437 | 2.17k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&) Line | Count | Source | 435 | 1.96k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.96k | { | 437 | 1.96k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&) Line | Count | Source | 435 | 1.27k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.27k | { | 437 | 1.27k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&) Line | Count | Source | 435 | 1.27k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.27k | { | 437 | 1.27k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>&&) Line | Count | Source | 435 | 467k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 467k | { | 437 | 467k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&) Line | Count | Source | 435 | 485k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 485k | { | 437 | 485k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>&&) Line | Count | Source | 435 | 492k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 492k | { | 437 | 492k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>&&) Line | Count | Source | 435 | 547k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 547k | { | 437 | 547k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>&&) Line | Count | Source | 435 | 576k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 576k | { | 437 | 576k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>&&) Line | Count | Source | 435 | 583k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 583k | { | 437 | 583k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>&&) Line | Count | Source | 435 | 183k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 183k | { | 437 | 183k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&) Line | Count | Source | 435 | 218k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 218k | { | 437 | 218k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>&&) Line | Count | Source | 435 | 224k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 224k | { | 437 | 224k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>&&) Line | Count | Source | 435 | 183k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 183k | { | 437 | 183k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>&&) Line | Count | Source | 435 | 218k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 218k | { | 437 | 218k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>&&) Line | Count | Source | 435 | 224k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 224k | { | 437 | 224k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&) Line | Count | Source | 435 | 216 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 216 | { | 437 | 216 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&) scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&) Line | Count | Source | 435 | 257k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 257k | { | 437 | 257k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&) Line | Count | Source | 435 | 96 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 96 | { | 437 | 96 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&) scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&) Line | Count | Source | 435 | 2.67M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 2.67M | { | 437 | 2.67M | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&) Line | Count | Source | 435 | 22.1M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 22.1M | { | 437 | 22.1M | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&) Line | Count | Source | 435 | 17.0M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 17.0M | { | 437 | 17.0M | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&) Line | Count | Source | 435 | 9.38M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 9.38M | { | 437 | 9.38M | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&) Line | Count | Source | 435 | 1.22M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 1.22M | { | 437 | 1.22M | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&) Line | Count | Source | 435 | 686k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 686k | { | 437 | 686k | } |
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&) Line | Count | Source | 435 | 25.9M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 25.9M | { | 437 | 25.9M | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&) Line | Count | Source | 435 | 84.4k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 84.4k | { | 437 | 84.4k | } |
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_storage_base<std::__1::regex_constants::syntax_option_type, void>(std::__1::in_place_t, std::__1::regex_constants::syntax_option_type&&) Line | Count | Source | 435 | 44.6k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 44.6k | { | 437 | 44.6k | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&) Line | Count | Source | 435 | 7.07k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 7.07k | { | 437 | 7.07k | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&) Line | Count | Source | 435 | 10.8M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 10.8M | { | 437 | 10.8M | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&) Line | Count | Source | 435 | 16.4k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 16.4k | { | 437 | 16.4k | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&) Line | Count | Source | 435 | 2.74M | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 2.74M | { | 437 | 2.74M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&) scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&) Line | Count | Source | 435 | 874 | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 874 | { | 437 | 874 | } |
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<int, void>(std::__1::in_place_t, int&&) Line | Count | Source | 435 | 158k | : m_value(std::forward<Args>(args)...), m_has_value(true) | 436 | 158k | { | 437 | 158k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&) |
438 | | |
439 | | template <typename... Args, |
440 | | typename = std::enable_if_t<std::is_constructible_v<E, Args...>>> |
441 | | constexpr explicit expected_storage_base( |
442 | | unexpect_t, |
443 | | Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>) |
444 | 63.4M | : m_unexpected(std::in_place, std::forward<Args>(args)...), |
445 | 63.4M | m_has_value(false) |
446 | 63.4M | { |
447 | 63.4M | } scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 635k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 635k | m_has_value(false) | 446 | 635k | { | 447 | 635k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 43.7k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 43.7k | m_has_value(false) | 446 | 43.7k | { | 447 | 43.7k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 43.7k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 43.7k | m_has_value(false) | 446 | 43.7k | { | 447 | 43.7k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 65.1k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 65.1k | m_has_value(false) | 446 | 65.1k | { | 447 | 65.1k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 65.1k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 65.1k | m_has_value(false) | 446 | 65.1k | { | 447 | 65.1k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 43.7k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 43.7k | m_has_value(false) | 446 | 43.7k | { | 447 | 43.7k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 43.7k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 43.7k | m_has_value(false) | 446 | 43.7k | { | 447 | 43.7k | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 419k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 419k | m_has_value(false) | 446 | 419k | { | 447 | 419k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 43.7k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 43.7k | m_has_value(false) | 446 | 43.7k | { | 447 | 43.7k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 43.7k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 43.7k | m_has_value(false) | 446 | 43.7k | { | 447 | 43.7k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 43.7k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 43.7k | m_has_value(false) | 446 | 43.7k | { | 447 | 43.7k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 43.7k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 43.7k | m_has_value(false) | 446 | 43.7k | { | 447 | 43.7k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 43.7k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 43.7k | m_has_value(false) | 446 | 43.7k | { | 447 | 43.7k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 43.7k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 43.7k | m_has_value(false) | 446 | 43.7k | { | 447 | 43.7k | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 1.27M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 1.27M | m_has_value(false) | 446 | 1.27M | { | 447 | 1.27M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 87.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 87.5k | m_has_value(false) | 446 | 87.5k | { | 447 | 87.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 87.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 87.5k | m_has_value(false) | 446 | 87.5k | { | 447 | 87.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 130k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 130k | m_has_value(false) | 446 | 130k | { | 447 | 130k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 130k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 130k | m_has_value(false) | 446 | 130k | { | 447 | 130k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 87.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 87.5k | m_has_value(false) | 446 | 87.5k | { | 447 | 87.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 87.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 87.5k | m_has_value(false) | 446 | 87.5k | { | 447 | 87.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 838k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 838k | m_has_value(false) | 446 | 838k | { | 447 | 838k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 87.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 87.5k | m_has_value(false) | 446 | 87.5k | { | 447 | 87.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 87.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 87.5k | m_has_value(false) | 446 | 87.5k | { | 447 | 87.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 87.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 87.5k | m_has_value(false) | 446 | 87.5k | { | 447 | 87.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 87.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 87.5k | m_has_value(false) | 446 | 87.5k | { | 447 | 87.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 87.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 87.5k | m_has_value(false) | 446 | 87.5k | { | 447 | 87.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 87.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 87.5k | m_has_value(false) | 446 | 87.5k | { | 447 | 87.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 2.62M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 2.62M | m_has_value(false) | 446 | 2.62M | { | 447 | 2.62M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 2.89M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 2.89M | m_has_value(false) | 446 | 2.89M | { | 447 | 2.89M | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 2.64M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 2.64M | m_has_value(false) | 446 | 2.64M | { | 447 | 2.64M | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 2.78M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 2.78M | m_has_value(false) | 446 | 2.78M | { | 447 | 2.78M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Line | Count | Source | 444 | 138k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 138k | m_has_value(false) | 446 | 138k | { | 447 | 138k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 40.0k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 40.0k | m_has_value(false) | 446 | 40.0k | { | 447 | 40.0k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Line | Count | Source | 444 | 1.93M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 1.93M | m_has_value(false) | 446 | 1.93M | { | 447 | 1.93M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&) Line | Count | Source | 444 | 14.9M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 14.9M | m_has_value(false) | 446 | 14.9M | { | 447 | 14.9M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Line | Count | Source | 444 | 309 | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 309 | m_has_value(false) | 446 | 309 | { | 447 | 309 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Line | Count | Source | 444 | 55.4k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 55.4k | m_has_value(false) | 446 | 55.4k | { | 447 | 55.4k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Line | Count | Source | 444 | 348 | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 348 | m_has_value(false) | 446 | 348 | { | 447 | 348 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 174 | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 174 | m_has_value(false) | 446 | 174 | { | 447 | 174 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 8.11k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 8.11k | m_has_value(false) | 446 | 8.11k | { | 447 | 8.11k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 34.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 34.5k | m_has_value(false) | 446 | 34.5k | { | 447 | 34.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Line | Count | Source | 444 | 932 | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 932 | m_has_value(false) | 446 | 932 | { | 447 | 932 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&) Line | Count | Source | 444 | 4.60k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 4.60k | m_has_value(false) | 446 | 4.60k | { | 447 | 4.60k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Line | Count | Source | 444 | 1.60M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 1.60M | m_has_value(false) | 446 | 1.60M | { | 447 | 1.60M | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&) Line | Count | Source | 444 | 10.7M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 10.7M | m_has_value(false) | 446 | 10.7M | { | 447 | 10.7M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Line | Count | Source | 444 | 102 | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 102 | m_has_value(false) | 446 | 102 | { | 447 | 102 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 3.58M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 3.58M | m_has_value(false) | 446 | 3.58M | { | 447 | 3.58M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Line | Count | Source | 444 | 104k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 104k | m_has_value(false) | 446 | 104k | { | 447 | 104k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 6.67k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 6.67k | m_has_value(false) | 446 | 6.67k | { | 447 | 6.67k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Line | Count | Source | 444 | 1.06M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 1.06M | m_has_value(false) | 446 | 1.06M | { | 447 | 1.06M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&) Line | Count | Source | 444 | 6.35M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 6.35M | m_has_value(false) | 446 | 6.35M | { | 447 | 6.35M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Line | Count | Source | 444 | 91 | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 91 | m_has_value(false) | 446 | 91 | { | 447 | 91 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Line | Count | Source | 444 | 107k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 107k | m_has_value(false) | 446 | 107k | { | 447 | 107k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Line | Count | Source | 444 | 162 | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 162 | m_has_value(false) | 446 | 162 | { | 447 | 162 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 3.02k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 3.02k | m_has_value(false) | 446 | 3.02k | { | 447 | 3.02k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 8.57k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 8.57k | m_has_value(false) | 446 | 8.57k | { | 447 | 8.57k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Line | Count | Source | 444 | 504 | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 504 | m_has_value(false) | 446 | 504 | { | 447 | 504 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&) Line | Count | Source | 444 | 2.94k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 2.94k | m_has_value(false) | 446 | 2.94k | { | 447 | 2.94k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Line | Count | Source | 444 | 1.06M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 1.06M | m_has_value(false) | 446 | 1.06M | { | 447 | 1.06M | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&) Line | Count | Source | 444 | 4.61M | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 4.61M | m_has_value(false) | 446 | 4.61M | { | 447 | 4.61M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Line | Count | Source | 444 | 30 | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 30 | m_has_value(false) | 446 | 30 | { | 447 | 30 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Line | Count | Source | 444 | 226 | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 226 | m_has_value(false) | 446 | 226 | { | 447 | 226 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 174 | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 174 | m_has_value(false) | 446 | 174 | { | 447 | 174 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&) Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 42.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 42.5k | m_has_value(false) | 446 | 42.5k | { | 447 | 42.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 63.8k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 63.8k | m_has_value(false) | 446 | 63.8k | { | 447 | 63.8k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 42.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 42.5k | m_has_value(false) | 446 | 42.5k | { | 447 | 42.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 42.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 42.5k | m_has_value(false) | 446 | 42.5k | { | 447 | 42.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 42.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 42.5k | m_has_value(false) | 446 | 42.5k | { | 447 | 42.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 42.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 42.5k | m_has_value(false) | 446 | 42.5k | { | 447 | 42.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 85.0k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 85.0k | m_has_value(false) | 446 | 85.0k | { | 447 | 85.0k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 127k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 127k | m_has_value(false) | 446 | 127k | { | 447 | 127k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 85.0k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 85.0k | m_has_value(false) | 446 | 85.0k | { | 447 | 85.0k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 85.0k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 85.0k | m_has_value(false) | 446 | 85.0k | { | 447 | 85.0k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 85.0k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 85.0k | m_has_value(false) | 446 | 85.0k | { | 447 | 85.0k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 85.0k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 85.0k | m_has_value(false) | 446 | 85.0k | { | 447 | 85.0k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 21.1k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 21.1k | m_has_value(false) | 446 | 21.1k | { | 447 | 21.1k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 21.3k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 21.3k | m_has_value(false) | 446 | 21.3k | { | 447 | 21.3k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 21.3k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 21.3k | m_has_value(false) | 446 | 21.3k | { | 447 | 21.3k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 48.8k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 48.8k | m_has_value(false) | 446 | 48.8k | { | 447 | 48.8k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 42.5k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 42.5k | m_has_value(false) | 446 | 42.5k | { | 447 | 42.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 42.6k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 42.6k | m_has_value(false) | 446 | 42.6k | { | 447 | 42.6k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 42.6k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 42.6k | m_has_value(false) | 446 | 42.6k | { | 447 | 42.6k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 444 | 99.8k | : m_unexpected(std::in_place, std::forward<Args>(args)...), | 445 | 99.8k | m_has_value(false) | 446 | 99.8k | { | 447 | 99.8k | } |
|
448 | | |
449 | | constexpr T& get_value() & noexcept |
450 | 227M | { |
451 | 227M | return m_value; |
452 | 227M | } scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 33.4M | { | 451 | 33.4M | return m_value; | 452 | 33.4M | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 3.97M | { | 451 | 3.97M | return m_value; | 452 | 3.97M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 297k | { | 451 | 297k | return m_value; | 452 | 297k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 283k | { | 451 | 283k | return m_value; | 452 | 283k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 384k | { | 451 | 384k | return m_value; | 452 | 384k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 325k | { | 451 | 325k | return m_value; | 452 | 325k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 392k | { | 451 | 392k | return m_value; | 452 | 392k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 329k | { | 451 | 329k | return m_value; | 452 | 329k | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 4.03M | { | 451 | 4.03M | return m_value; | 452 | 4.03M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 298k | { | 451 | 298k | return m_value; | 452 | 298k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 284k | { | 451 | 284k | return m_value; | 452 | 284k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 384k | { | 451 | 384k | return m_value; | 452 | 384k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 327k | { | 451 | 327k | return m_value; | 452 | 327k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 392k | { | 451 | 392k | return m_value; | 452 | 392k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 331k | { | 451 | 331k | return m_value; | 452 | 331k | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 5.97M | { | 451 | 5.97M | return m_value; | 452 | 5.97M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 634 | { | 451 | 634 | return m_value; | 452 | 634 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 539 | { | 451 | 539 | return m_value; | 452 | 539 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 750 | { | 451 | 750 | return m_value; | 452 | 750 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 603 | { | 451 | 603 | return m_value; | 452 | 603 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 903 | { | 451 | 903 | return m_value; | 452 | 903 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 733 | { | 451 | 733 | return m_value; | 452 | 733 | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 3.30M | { | 451 | 3.30M | return m_value; | 452 | 3.30M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 634 | { | 451 | 634 | return m_value; | 452 | 634 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 539 | { | 451 | 539 | return m_value; | 452 | 539 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 750 | { | 451 | 750 | return m_value; | 452 | 750 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 603 | { | 451 | 603 | return m_value; | 452 | 603 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 903 | { | 451 | 903 | return m_value; | 452 | 903 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 733 | { | 451 | 733 | return m_value; | 452 | 733 | } |
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 44.6k | { | 451 | 44.6k | return m_value; | 452 | 44.6k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::get_value() & scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 12.4M | { | 451 | 12.4M | return m_value; | 452 | 12.4M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 6.50M | { | 451 | 6.50M | return m_value; | 452 | 6.50M | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 20.7M | { | 451 | 20.7M | return m_value; | 452 | 20.7M | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 16.3M | { | 451 | 16.3M | return m_value; | 452 | 16.3M | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 5.23M | { | 451 | 5.23M | return m_value; | 452 | 5.23M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::get_value() & scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 6.03M | { | 451 | 6.03M | return m_value; | 452 | 6.03M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_value() & scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() & Line | Count | Source | 450 | 14.2M | { | 451 | 14.2M | return m_value; | 452 | 14.2M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 4.16M | { | 451 | 4.16M | return m_value; | 452 | 4.16M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 2.18M | { | 451 | 2.18M | return m_value; | 452 | 2.18M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 2.18M | { | 451 | 2.18M | return m_value; | 452 | 2.18M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 14.6M | { | 451 | 14.6M | return m_value; | 452 | 14.6M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 5.16k | { | 451 | 5.16k | return m_value; | 452 | 5.16k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::get_value() & scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 5.37k | { | 451 | 5.37k | return m_value; | 452 | 5.37k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 5.80M | { | 451 | 5.80M | return m_value; | 452 | 5.80M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_value() & Line | Count | Source | 450 | 1.60k | { | 451 | 1.60k | return m_value; | 452 | 1.60k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 1.18k | { | 451 | 1.18k | return m_value; | 452 | 1.18k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 888 | { | 451 | 888 | return m_value; | 452 | 888 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 888 | { | 451 | 888 | return m_value; | 452 | 888 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 3.04k | { | 451 | 3.04k | return m_value; | 452 | 3.04k | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_value() & Line | Count | Source | 450 | 2.38M | { | 451 | 2.38M | return m_value; | 452 | 2.38M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 3.77M | { | 451 | 3.77M | return m_value; | 452 | 3.77M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 2.17M | { | 451 | 2.17M | return m_value; | 452 | 2.17M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 2.17M | { | 451 | 2.17M | return m_value; | 452 | 2.17M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() & scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 1.81M | { | 451 | 1.81M | return m_value; | 452 | 1.81M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 292 | { | 451 | 292 | return m_value; | 452 | 292 | } |
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 1.55M | { | 451 | 1.55M | return m_value; | 452 | 1.55M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::get_value() & scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 3.54M | { | 451 | 3.54M | return m_value; | 452 | 3.54M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_value() & scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() & Line | Count | Source | 450 | 3.86M | { | 451 | 3.86M | return m_value; | 452 | 3.86M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 1.27M | { | 451 | 1.27M | return m_value; | 452 | 1.27M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 377k | { | 451 | 377k | return m_value; | 452 | 377k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 377k | { | 451 | 377k | return m_value; | 452 | 377k | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 9.39M | { | 451 | 9.39M | return m_value; | 452 | 9.39M | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 9.19M | { | 451 | 9.19M | return m_value; | 452 | 9.19M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 1.47k | { | 451 | 1.47k | return m_value; | 452 | 1.47k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::get_value() & scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 2.06k | { | 451 | 2.06k | return m_value; | 452 | 2.06k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 5.71M | { | 451 | 5.71M | return m_value; | 452 | 5.71M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_value() & Line | Count | Source | 450 | 1.01k | { | 451 | 1.01k | return m_value; | 452 | 1.01k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 750 | { | 451 | 750 | return m_value; | 452 | 750 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 570 | { | 451 | 570 | return m_value; | 452 | 570 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 570 | { | 451 | 570 | return m_value; | 452 | 570 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 1.38k | { | 451 | 1.38k | return m_value; | 452 | 1.38k | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_value() & Line | Count | Source | 450 | 2.96M | { | 451 | 2.96M | return m_value; | 452 | 2.96M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 1.26M | { | 451 | 1.26M | return m_value; | 452 | 1.26M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 380k | { | 451 | 380k | return m_value; | 452 | 380k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 380k | { | 451 | 380k | return m_value; | 452 | 380k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() & scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 877k | { | 451 | 877k | return m_value; | 452 | 877k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 180 | { | 451 | 180 | return m_value; | 452 | 180 | } |
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 879k | { | 451 | 879k | return m_value; | 452 | 879k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 2.17k | { | 451 | 2.17k | return m_value; | 452 | 2.17k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 1.96k | { | 451 | 1.96k | return m_value; | 452 | 1.96k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() & Line | Count | Source | 450 | 1.27k | { | 451 | 1.27k | return m_value; | 452 | 1.27k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 1.27k | { | 451 | 1.27k | return m_value; | 452 | 1.27k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 467k | { | 451 | 467k | return m_value; | 452 | 467k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 485k | { | 451 | 485k | return m_value; | 452 | 485k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 492k | { | 451 | 492k | return m_value; | 452 | 492k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 547k | { | 451 | 547k | return m_value; | 452 | 547k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 576k | { | 451 | 576k | return m_value; | 452 | 576k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 583k | { | 451 | 583k | return m_value; | 452 | 583k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 183k | { | 451 | 183k | return m_value; | 452 | 183k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 218k | { | 451 | 218k | return m_value; | 452 | 218k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 224k | { | 451 | 224k | return m_value; | 452 | 224k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 183k | { | 451 | 183k | return m_value; | 452 | 183k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 218k | { | 451 | 218k | return m_value; | 452 | 218k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 224k | { | 451 | 224k | return m_value; | 452 | 224k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 256k | { | 451 | 256k | return m_value; | 452 | 256k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::get_value() & Line | Count | Source | 450 | 2.67M | { | 451 | 2.67M | return m_value; | 452 | 2.67M | } |
|
453 | | constexpr const T& get_value() const& noexcept |
454 | 0 | { |
455 | 0 | return m_value; |
456 | 0 | } Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const & |
457 | | constexpr T&& get_value() && noexcept |
458 | | { |
459 | | return std::move(m_value); |
460 | | } |
461 | | constexpr const T&& get_value() const&& noexcept |
462 | | { |
463 | | return std::move(m_value); |
464 | | } |
465 | | |
466 | | constexpr unexpected<E>& get_unexpected() & noexcept |
467 | 33.6M | { |
468 | 33.6M | return m_unexpected; |
469 | 33.6M | } scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 3.58M | { | 468 | 3.58M | return m_unexpected; | 469 | 3.58M | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 635k | { | 468 | 635k | return m_unexpected; | 469 | 635k | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 419k | { | 468 | 419k | return m_unexpected; | 469 | 419k | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 1.27M | { | 468 | 1.27M | return m_unexpected; | 469 | 1.27M | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 838k | { | 468 | 838k | return m_unexpected; | 469 | 838k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() & Line | Count | Source | 467 | 138k | { | 468 | 138k | return m_unexpected; | 469 | 138k | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() & Line | Count | Source | 467 | 104k | { | 468 | 104k | return m_unexpected; | 469 | 104k | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 1.17M | { | 468 | 1.17M | return m_unexpected; | 469 | 1.17M | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 1.90M | { | 468 | 1.90M | return m_unexpected; | 469 | 1.90M | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_unexpected() & Line | Count | Source | 467 | 55.1k | { | 468 | 55.1k | return m_unexpected; | 469 | 55.1k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 40.0k | { | 468 | 40.0k | return m_unexpected; | 469 | 40.0k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() & Line | Count | Source | 467 | 7.27M | { | 468 | 7.27M | return m_unexpected; | 469 | 7.27M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 894k | { | 468 | 894k | return m_unexpected; | 469 | 894k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_unexpected() & Line | Count | Source | 467 | 320 | { | 468 | 320 | return m_unexpected; | 469 | 320 | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 174 | { | 468 | 174 | return m_unexpected; | 469 | 174 | } |
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 34.5k | { | 468 | 34.5k | return m_unexpected; | 469 | 34.5k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_unexpected() & Line | Count | Source | 467 | 3.24k | { | 468 | 3.24k | return m_unexpected; | 469 | 3.24k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 7.82k | { | 468 | 7.82k | return m_unexpected; | 469 | 7.82k | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_unexpected() & Line | Count | Source | 467 | 6.27M | { | 468 | 6.27M | return m_unexpected; | 469 | 6.27M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 6.67k | { | 468 | 6.67k | return m_unexpected; | 469 | 6.67k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() & Line | Count | Source | 467 | 3.67M | { | 468 | 3.67M | return m_unexpected; | 469 | 3.67M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 2.01M | { | 468 | 2.01M | return m_unexpected; | 469 | 2.01M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() & Line | Count | Source | 467 | 162 | { | 468 | 162 | return m_unexpected; | 469 | 162 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_unexpected() & Line | Count | Source | 467 | 107k | { | 468 | 107k | return m_unexpected; | 469 | 107k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 8.57k | { | 468 | 8.57k | return m_unexpected; | 469 | 8.57k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_unexpected() & Line | Count | Source | 467 | 1.98k | { | 468 | 1.98k | return m_unexpected; | 469 | 1.98k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 2.84k | { | 468 | 2.84k | return m_unexpected; | 469 | 2.84k | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_unexpected() & Line | Count | Source | 467 | 3.21M | { | 468 | 3.21M | return m_unexpected; | 469 | 3.21M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() & scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() & Line | Count | Source | 467 | 174 | { | 468 | 174 | return m_unexpected; | 469 | 174 | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() & Line | Count | Source | 467 | 174 | { | 468 | 174 | return m_unexpected; | 469 | 174 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() & |
470 | | constexpr const unexpected<E>& get_unexpected() const& noexcept |
471 | 0 | { |
472 | 0 | return m_unexpected; |
473 | 0 | } Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const & Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const & |
474 | | constexpr unexpected<E>&& get_unexpected() && noexcept |
475 | | { |
476 | | return std::move(m_unexpected); |
477 | | } |
478 | | constexpr const unexpected<E>&& get_unexpected() const&& noexcept |
479 | | { |
480 | | return std::move(m_unexpected); |
481 | | } |
482 | | |
483 | | SCN_NODISCARD constexpr bool has_value() const noexcept |
484 | 583M | { |
485 | 583M | return m_has_value; |
486 | 583M | } scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 75.3M | { | 485 | 75.3M | return m_has_value; | 486 | 75.3M | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 9.22M | { | 485 | 9.22M | return m_has_value; | 486 | 9.22M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 638k | { | 485 | 638k | return m_has_value; | 486 | 638k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 611k | { | 485 | 611k | return m_has_value; | 486 | 611k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 812k | { | 485 | 812k | return m_has_value; | 486 | 812k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 695k | { | 485 | 695k | return m_has_value; | 486 | 695k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 828k | { | 485 | 828k | return m_has_value; | 486 | 828k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 703k | { | 485 | 703k | return m_has_value; | 486 | 703k | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 8.91M | { | 485 | 8.91M | return m_has_value; | 486 | 8.91M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 640k | { | 485 | 640k | return m_has_value; | 486 | 640k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 613k | { | 485 | 613k | return m_has_value; | 486 | 613k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 812k | { | 485 | 812k | return m_has_value; | 486 | 812k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 698k | { | 485 | 698k | return m_has_value; | 486 | 698k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 828k | { | 485 | 828k | return m_has_value; | 486 | 828k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 706k | { | 485 | 706k | return m_has_value; | 486 | 706k | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 14.5M | { | 485 | 14.5M | return m_has_value; | 486 | 14.5M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 88.8k | { | 485 | 88.8k | return m_has_value; | 486 | 88.8k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 88.6k | { | 485 | 88.6k | return m_has_value; | 486 | 88.6k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 89.0k | { | 485 | 89.0k | return m_has_value; | 486 | 89.0k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 88.7k | { | 485 | 88.7k | return m_has_value; | 486 | 88.7k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 89.3k | { | 485 | 89.3k | return m_has_value; | 486 | 89.3k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 89.0k | { | 485 | 89.0k | return m_has_value; | 486 | 89.0k | } |
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 8.28M | { | 485 | 8.28M | return m_has_value; | 486 | 8.28M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 88.8k | { | 485 | 88.8k | return m_has_value; | 486 | 88.8k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 88.6k | { | 485 | 88.6k | return m_has_value; | 486 | 88.6k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 89.0k | { | 485 | 89.0k | return m_has_value; | 486 | 89.0k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 88.7k | { | 485 | 88.7k | return m_has_value; | 486 | 88.7k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 89.3k | { | 485 | 89.3k | return m_has_value; | 486 | 89.3k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 89.0k | { | 485 | 89.0k | return m_has_value; | 486 | 89.0k | } |
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 89.2k | { | 485 | 89.2k | return m_has_value; | 486 | 89.2k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::has_value() const scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 31.7M | { | 485 | 31.7M | return m_has_value; | 486 | 31.7M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 15.7M | { | 485 | 15.7M | return m_has_value; | 486 | 15.7M | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 48.3M | { | 485 | 48.3M | return m_has_value; | 486 | 48.3M | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 38.9M | { | 485 | 38.9M | return m_has_value; | 486 | 38.9M | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 14.7M | { | 485 | 14.7M | return m_has_value; | 486 | 14.7M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::has_value() const scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 12.1M | { | 485 | 12.1M | return m_has_value; | 486 | 12.1M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::has_value() const scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::has_value() const Line | Count | Source | 484 | 54.3M | { | 485 | 54.3M | return m_has_value; | 486 | 54.3M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 8.32M | { | 485 | 8.32M | return m_has_value; | 486 | 8.32M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 4.36M | { | 485 | 4.36M | return m_has_value; | 486 | 4.36M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 4.36M | { | 485 | 4.36M | return m_has_value; | 486 | 4.36M | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 36.2M | { | 485 | 36.2M | return m_has_value; | 486 | 36.2M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 12.6k | { | 485 | 12.6k | return m_has_value; | 486 | 12.6k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 11.0k | { | 485 | 11.0k | return m_has_value; | 486 | 11.0k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 11.6M | { | 485 | 11.6M | return m_has_value; | 486 | 11.6M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::has_value() const Line | Count | Source | 484 | 12.8k | { | 485 | 12.8k | return m_has_value; | 486 | 12.8k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 2.36k | { | 485 | 2.36k | return m_has_value; | 486 | 2.36k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 1.77k | { | 485 | 1.77k | return m_has_value; | 486 | 1.77k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 1.77k | { | 485 | 1.77k | return m_has_value; | 486 | 1.77k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 22.3k | { | 485 | 22.3k | return m_has_value; | 486 | 22.3k | } |
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::has_value() const Line | Count | Source | 484 | 25.9M | { | 485 | 25.9M | return m_has_value; | 486 | 25.9M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 7.54M | { | 485 | 7.54M | return m_has_value; | 486 | 7.54M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 4.35M | { | 485 | 4.35M | return m_has_value; | 486 | 4.35M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 4.35M | { | 485 | 4.35M | return m_has_value; | 486 | 4.35M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 3.62M | { | 485 | 3.62M | return m_has_value; | 486 | 3.62M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 584 | { | 485 | 584 | return m_has_value; | 486 | 584 | } |
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 3.11M | { | 485 | 3.11M | return m_has_value; | 486 | 3.11M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::has_value() const scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 7.10M | { | 485 | 7.10M | return m_has_value; | 486 | 7.10M | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::has_value() const scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::has_value() const Line | Count | Source | 484 | 20.1M | { | 485 | 20.1M | return m_has_value; | 486 | 20.1M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 2.54M | { | 485 | 2.54M | return m_has_value; | 486 | 2.54M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 754k | { | 485 | 754k | return m_has_value; | 486 | 754k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 754k | { | 485 | 754k | return m_has_value; | 486 | 754k | } |
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 25.2M | { | 485 | 25.2M | return m_has_value; | 486 | 25.2M | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 20.2M | { | 485 | 20.2M | return m_has_value; | 486 | 20.2M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 4.45k | { | 485 | 4.45k | return m_has_value; | 486 | 4.45k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 4.12k | { | 485 | 4.12k | return m_has_value; | 486 | 4.12k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 11.4M | { | 485 | 11.4M | return m_has_value; | 486 | 11.4M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::has_value() const Line | Count | Source | 484 | 8.00k | { | 485 | 8.00k | return m_has_value; | 486 | 8.00k | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 1.50k | { | 485 | 1.50k | return m_has_value; | 486 | 1.50k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 1.14k | { | 485 | 1.14k | return m_has_value; | 486 | 1.14k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 1.14k | { | 485 | 1.14k | return m_has_value; | 486 | 1.14k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 8.82k | { | 485 | 8.82k | return m_has_value; | 486 | 8.82k | } |
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::has_value() const Line | Count | Source | 484 | 16.5M | { | 485 | 16.5M | return m_has_value; | 486 | 16.5M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 2.53M | { | 485 | 2.53M | return m_has_value; | 486 | 2.53M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 760k | { | 485 | 760k | return m_has_value; | 486 | 760k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 760k | { | 485 | 760k | return m_has_value; | 486 | 760k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 1.75M | { | 485 | 1.75M | return m_has_value; | 486 | 1.75M | } |
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 360 | { | 485 | 360 | return m_has_value; | 486 | 360 | } |
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 1.75M | { | 485 | 1.75M | return m_has_value; | 486 | 1.75M | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 4.74k | { | 485 | 4.74k | return m_has_value; | 486 | 4.74k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 4.26k | { | 485 | 4.26k | return m_has_value; | 486 | 4.26k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const Line | Count | Source | 484 | 2.54k | { | 485 | 2.54k | return m_has_value; | 486 | 2.54k | } |
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 2.54k | { | 485 | 2.54k | return m_has_value; | 486 | 2.54k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 977k | { | 485 | 977k | return m_has_value; | 486 | 977k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 1.01M | { | 485 | 1.01M | return m_has_value; | 486 | 1.01M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 1.02M | { | 485 | 1.02M | return m_has_value; | 486 | 1.02M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 1.13M | { | 485 | 1.13M | return m_has_value; | 486 | 1.13M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 1.19M | { | 485 | 1.19M | return m_has_value; | 486 | 1.19M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 1.20M | { | 485 | 1.20M | return m_has_value; | 486 | 1.20M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 452k | { | 485 | 452k | return m_has_value; | 486 | 452k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 522k | { | 485 | 522k | return m_has_value; | 486 | 522k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 534k | { | 485 | 534k | return m_has_value; | 486 | 534k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 451k | { | 485 | 451k | return m_has_value; | 486 | 451k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 521k | { | 485 | 521k | return m_has_value; | 486 | 521k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 533k | { | 485 | 533k | return m_has_value; | 486 | 533k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 541k | { | 485 | 541k | return m_has_value; | 486 | 541k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::has_value() const Line | Count | Source | 484 | 5.40M | { | 485 | 5.40M | return m_has_value; | 486 | 5.40M | } |
|
487 | | |
488 | | template <typename... Args> |
489 | | void construct(Args&&... args) noexcept( |
490 | | std::is_nothrow_constructible_v<T, Args...>) |
491 | | { |
492 | | scn::detail::construct_at(&get_value(), std::forward<Args>(args)...); |
493 | | m_has_value = true; |
494 | | } |
495 | | template <typename... Args> |
496 | | void construct_unexpected(Args&&... args) noexcept( |
497 | | std::is_nothrow_constructible_v<E, Args...>) |
498 | | { |
499 | | scn::detail::construct_at(&get_unexpected(), |
500 | | std::forward<Args>(args)...); |
501 | | m_has_value = false; |
502 | | } |
503 | | |
504 | | // No-op, because T and E are trivially destructible |
505 | | static constexpr void destroy_value() noexcept {} |
506 | | static constexpr void destroy_unexpected() noexcept {} |
507 | | |
508 | | private: |
509 | | union { |
510 | | T m_value; |
511 | | unexpected<E> m_unexpected; |
512 | | char m_deferred_init; |
513 | | }; |
514 | | bool m_has_value; |
515 | | }; |
516 | | |
517 | | template <typename E> |
518 | | struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> { |
519 | | constexpr expected_storage_base() noexcept : m_has_value(true) {} |
520 | | |
521 | | explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept |
522 | | : m_deferred_init(), m_has_value(false) |
523 | | { |
524 | | } |
525 | | |
526 | | explicit constexpr expected_storage_base(std::in_place_t) noexcept |
527 | | : m_has_value(true) |
528 | | { |
529 | | } |
530 | | |
531 | | template <typename... Args, |
532 | | typename = std::enable_if_t<std::is_constructible_v<E, Args...>>> |
533 | | explicit constexpr expected_storage_base( |
534 | | unexpect_t, |
535 | | Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>) |
536 | | : m_unexpected(std::in_place, std::forward<Args>(args)...), |
537 | | m_has_value(false) |
538 | | { |
539 | | } |
540 | | |
541 | | constexpr unexpected<E>& get_unexpected() & noexcept |
542 | | { |
543 | | return m_unexpected; |
544 | | } |
545 | | constexpr const unexpected<E>& get_unexpected() const& noexcept |
546 | | { |
547 | | return m_unexpected; |
548 | | } |
549 | | constexpr unexpected<E>&& get_unexpected() && noexcept |
550 | | { |
551 | | return std::move(m_unexpected); |
552 | | } |
553 | | constexpr const unexpected<E>&& get_unexpected() const&& noexcept |
554 | | { |
555 | | return std::move(m_unexpected); |
556 | | } |
557 | | |
558 | | SCN_NODISCARD constexpr bool has_value() const noexcept |
559 | | { |
560 | | return m_has_value; |
561 | | } |
562 | | |
563 | | template <typename... Args> |
564 | | void construct(Args&&...) noexcept |
565 | | { |
566 | | m_has_value = true; |
567 | | } |
568 | | template <typename... Args> |
569 | | void construct_unexpected(Args&&... args) noexcept( |
570 | | std::is_nothrow_constructible_v<E, Args...>) |
571 | | { |
572 | | scn::detail::construct_at(&get_unexpected(), |
573 | | std::forward<Args>(args)...); |
574 | | m_has_value = false; |
575 | | } |
576 | | |
577 | | static constexpr void destroy_value() noexcept {} |
578 | | static constexpr void destroy_unexpected() noexcept {} |
579 | | |
580 | | private: |
581 | | union { |
582 | | unexpected<E> m_unexpected; |
583 | | char m_deferred_init; |
584 | | }; |
585 | | bool m_has_value; |
586 | | }; |
587 | | |
588 | | /** |
589 | | * Implementation of `std::max` without including `<algorithm>` |
590 | | */ |
591 | | template <typename T> |
592 | | constexpr T max(T a, T b) noexcept |
593 | 0 | { |
594 | 0 | return (a < b) ? b : a; |
595 | 0 | } |
596 | | |
597 | | template <typename T, typename E> |
598 | | struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> { |
599 | | constexpr expected_storage_base() noexcept : m_has_value(true) |
600 | | { |
601 | | construct(); |
602 | | } |
603 | | |
604 | | explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept |
605 | | : m_has_value(false) |
606 | | { |
607 | | } |
608 | | |
609 | | template <typename... Args, |
610 | | typename = std::enable_if_t<std::is_constructible_v<T, Args...>>> |
611 | | explicit constexpr expected_storage_base( |
612 | | std::in_place_t, |
613 | | Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>) |
614 | 6.54M | : m_has_value(true) |
615 | 6.54M | { |
616 | 6.54M | construct(std::forward<Args>(args)...); |
617 | 6.54M | } Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 614 | 312k | : m_has_value(true) | 615 | 312k | { | 616 | 312k | construct(std::forward<Args>(args)...); | 617 | 312k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 614 | 311k | : m_has_value(true) | 615 | 311k | { | 616 | 311k | construct(std::forward<Args>(args)...); | 617 | 311k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 614 | 760 | : m_has_value(true) | 615 | 760 | { | 616 | 760 | construct(std::forward<Args>(args)...); | 617 | 760 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 614 | 760 | : m_has_value(true) | 615 | 760 | { | 616 | 760 | construct(std::forward<Args>(args)...); | 617 | 760 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 614 | 257k | : m_has_value(true) | 615 | 257k | { | 616 | 257k | construct(std::forward<Args>(args)...); | 617 | 257k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 614 | 1.37k | : m_has_value(true) | 615 | 1.37k | { | 616 | 1.37k | construct(std::forward<Args>(args)...); | 617 | 1.37k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 614 | 576 | : m_has_value(true) | 615 | 576 | { | 616 | 576 | construct(std::forward<Args>(args)...); | 617 | 576 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 614 | 2.67M | : m_has_value(true) | 615 | 2.67M | { | 616 | 2.67M | construct(std::forward<Args>(args)...); | 617 | 2.67M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 614 | 313k | : m_has_value(true) | 615 | 313k | { | 616 | 313k | construct(std::forward<Args>(args)...); | 617 | 313k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 614 | 2.67M | : m_has_value(true) | 615 | 2.67M | { | 616 | 2.67M | construct(std::forward<Args>(args)...); | 617 | 2.67M | } |
|
618 | | |
619 | | template <typename... Args, |
620 | | typename = std::enable_if_t<std::is_constructible_v<E, Args...>>> |
621 | | explicit constexpr expected_storage_base( |
622 | | unexpect_t, |
623 | | Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>) |
624 | 415k | : m_has_value(false) |
625 | 415k | { |
626 | 415k | construct_unexpected(std::in_place, std::forward<Args>(args)...); |
627 | 415k | } Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 624 | 9.56k | : m_has_value(false) | 625 | 9.56k | { | 626 | 9.56k | construct_unexpected(std::in_place, std::forward<Args>(args)...); | 627 | 9.56k | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 624 | 20 | : m_has_value(false) | 625 | 20 | { | 626 | 20 | construct_unexpected(std::in_place, std::forward<Args>(args)...); | 627 | 20 | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 624 | 10.0k | : m_has_value(false) | 625 | 10.0k | { | 626 | 10.0k | construct_unexpected(std::in_place, std::forward<Args>(args)...); | 627 | 10.0k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 624 | 49.3k | : m_has_value(false) | 625 | 49.3k | { | 626 | 49.3k | construct_unexpected(std::in_place, std::forward<Args>(args)...); | 627 | 49.3k | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 624 | 40 | : m_has_value(false) | 625 | 40 | { | 626 | 40 | construct_unexpected(std::in_place, std::forward<Args>(args)...); | 627 | 40 | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 624 | 49.3k | : m_has_value(false) | 625 | 49.3k | { | 626 | 49.3k | construct_unexpected(std::in_place, std::forward<Args>(args)...); | 627 | 49.3k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 624 | 48.8k | : m_has_value(false) | 625 | 48.8k | { | 626 | 48.8k | construct_unexpected(std::in_place, std::forward<Args>(args)...); | 627 | 48.8k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 624 | 19.9k | : m_has_value(false) | 625 | 19.9k | { | 626 | 19.9k | construct_unexpected(std::in_place, std::forward<Args>(args)...); | 627 | 19.9k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 624 | 42.1k | : m_has_value(false) | 625 | 42.1k | { | 626 | 42.1k | construct_unexpected(std::in_place, std::forward<Args>(args)...); | 627 | 42.1k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 624 | 99.8k | : m_has_value(false) | 625 | 99.8k | { | 626 | 99.8k | construct_unexpected(std::in_place, std::forward<Args>(args)...); | 627 | 99.8k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 624 | 28.8k | : m_has_value(false) | 625 | 28.8k | { | 626 | 28.8k | construct_unexpected(std::in_place, std::forward<Args>(args)...); | 627 | 28.8k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 624 | 57.6k | : m_has_value(false) | 625 | 57.6k | { | 626 | 57.6k | construct_unexpected(std::in_place, std::forward<Args>(args)...); | 627 | 57.6k | } |
|
628 | | |
629 | | ~expected_storage_base() |
630 | 6.95M | { |
631 | 6.95M | if (has_value()) { |
632 | 6.54M | destroy_value(); |
633 | 6.54M | } |
634 | 415k | else { |
635 | 415k | destroy_unexpected(); |
636 | 415k | } |
637 | 6.95M | } Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base() scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base() Line | Count | Source | 630 | 322k | { | 631 | 322k | if (has_value()) { | 632 | 312k | destroy_value(); | 633 | 312k | } | 634 | 9.56k | else { | 635 | 9.56k | destroy_unexpected(); | 636 | 9.56k | } | 637 | 322k | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base() Line | Count | Source | 630 | 20 | { | 631 | 20 | if (has_value()) { | 632 | 0 | destroy_value(); | 633 | 0 | } | 634 | 20 | else { | 635 | 20 | destroy_unexpected(); | 636 | 20 | } | 637 | 20 | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base() Line | Count | Source | 630 | 321k | { | 631 | 321k | if (has_value()) { | 632 | 311k | destroy_value(); | 633 | 311k | } | 634 | 10.0k | else { | 635 | 10.0k | destroy_unexpected(); | 636 | 10.0k | } | 637 | 321k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base() scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base() Line | Count | Source | 630 | 50.1k | { | 631 | 50.1k | if (has_value()) { | 632 | 760 | destroy_value(); | 633 | 760 | } | 634 | 49.3k | else { | 635 | 49.3k | destroy_unexpected(); | 636 | 49.3k | } | 637 | 50.1k | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base() Line | Count | Source | 630 | 40 | { | 631 | 40 | if (has_value()) { | 632 | 0 | destroy_value(); | 633 | 0 | } | 634 | 40 | else { | 635 | 40 | destroy_unexpected(); | 636 | 40 | } | 637 | 40 | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base() Line | Count | Source | 630 | 50.1k | { | 631 | 50.1k | if (has_value()) { | 632 | 760 | destroy_value(); | 633 | 760 | } | 634 | 49.3k | else { | 635 | 49.3k | destroy_unexpected(); | 636 | 49.3k | } | 637 | 50.1k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base() Line | Count | Source | 630 | 306k | { | 631 | 306k | if (has_value()) { | 632 | 257k | destroy_value(); | 633 | 257k | } | 634 | 48.8k | else { | 635 | 48.8k | destroy_unexpected(); | 636 | 48.8k | } | 637 | 306k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base() Line | Count | Source | 630 | 21.3k | { | 631 | 21.3k | if (has_value()) { | 632 | 1.37k | destroy_value(); | 633 | 1.37k | } | 634 | 19.9k | else { | 635 | 19.9k | destroy_unexpected(); | 636 | 19.9k | } | 637 | 21.3k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base() Line | Count | Source | 630 | 42.6k | { | 631 | 42.6k | if (has_value()) { | 632 | 576 | destroy_value(); | 633 | 576 | } | 634 | 42.1k | else { | 635 | 42.1k | destroy_unexpected(); | 636 | 42.1k | } | 637 | 42.6k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base() Line | Count | Source | 630 | 2.77M | { | 631 | 2.77M | if (has_value()) { | 632 | 2.67M | destroy_value(); | 633 | 2.67M | } | 634 | 99.8k | else { | 635 | 99.8k | destroy_unexpected(); | 636 | 99.8k | } | 637 | 2.77M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base() Line | Count | Source | 630 | 342k | { | 631 | 342k | if (has_value()) { | 632 | 313k | destroy_value(); | 633 | 313k | } | 634 | 28.8k | else { | 635 | 28.8k | destroy_unexpected(); | 636 | 28.8k | } | 637 | 342k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base() Line | Count | Source | 630 | 2.72M | { | 631 | 2.72M | if (has_value()) { | 632 | 2.67M | destroy_value(); | 633 | 2.67M | } | 634 | 57.6k | else { | 635 | 57.6k | destroy_unexpected(); | 636 | 57.6k | } | 637 | 2.72M | } |
|
638 | | |
639 | | constexpr T& get_value() & noexcept |
640 | 6.53M | { |
641 | 6.53M | return *value_ptr(); |
642 | 6.53M | } Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() & scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() & Line | Count | Source | 640 | 312k | { | 641 | 312k | return *value_ptr(); | 642 | 312k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() & scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() & Line | Count | Source | 640 | 311k | { | 641 | 311k | return *value_ptr(); | 642 | 311k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() & scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() & Line | Count | Source | 640 | 760 | { | 641 | 760 | return *value_ptr(); | 642 | 760 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() & scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() & Line | Count | Source | 640 | 760 | { | 641 | 760 | return *value_ptr(); | 642 | 760 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() & Line | Count | Source | 640 | 256k | { | 641 | 256k | return *value_ptr(); | 642 | 256k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() & Line | Count | Source | 640 | 313k | { | 641 | 313k | return *value_ptr(); | 642 | 313k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::get_value() & Line | Count | Source | 640 | 2.67M | { | 641 | 2.67M | return *value_ptr(); | 642 | 2.67M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::get_value() & Line | Count | Source | 640 | 2.67M | { | 641 | 2.67M | return *value_ptr(); | 642 | 2.67M | } |
|
643 | | constexpr const T& get_value() const& noexcept |
644 | | { |
645 | | return *value_ptr(); |
646 | | } |
647 | | constexpr T&& get_value() && noexcept |
648 | | { |
649 | | return std::move(*value_ptr()); |
650 | | } |
651 | | constexpr const T&& get_value() const&& noexcept |
652 | | { |
653 | | return std::move(*value_ptr()); |
654 | | } |
655 | | |
656 | | constexpr unexpected<E>& get_unexpected() & noexcept |
657 | 118k | { |
658 | 118k | return *unexpected_ptr(); |
659 | 118k | } Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() & scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() & Line | Count | Source | 657 | 9.56k | { | 658 | 9.56k | return *unexpected_ptr(); | 659 | 9.56k | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() & Line | Count | Source | 657 | 20 | { | 658 | 20 | return *unexpected_ptr(); | 659 | 20 | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() & Line | Count | Source | 657 | 10.0k | { | 658 | 10.0k | return *unexpected_ptr(); | 659 | 10.0k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() & scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() & Line | Count | Source | 657 | 49.3k | { | 658 | 49.3k | return *unexpected_ptr(); | 659 | 49.3k | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() & Line | Count | Source | 657 | 40 | { | 658 | 40 | return *unexpected_ptr(); | 659 | 40 | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() & Line | Count | Source | 657 | 49.3k | { | 658 | 49.3k | return *unexpected_ptr(); | 659 | 49.3k | } |
|
660 | | constexpr const unexpected<E>& get_unexpected() const& noexcept |
661 | | { |
662 | | return *unexpected_ptr(); |
663 | | } |
664 | | constexpr unexpected<E>&& get_unexpected() && noexcept |
665 | | { |
666 | | return std::move(*unexpected_ptr()); |
667 | | } |
668 | | constexpr const unexpected<E>&& get_unexpected() const&& noexcept |
669 | | { |
670 | | return std::move(*unexpected_ptr()); |
671 | | } |
672 | | |
673 | | SCN_NODISCARD constexpr bool has_value() const noexcept |
674 | 20.4M | { |
675 | 20.4M | return m_has_value; |
676 | 20.4M | } Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const Line | Count | Source | 674 | 966k | { | 675 | 966k | return m_has_value; | 676 | 966k | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const Line | Count | Source | 674 | 60 | { | 675 | 60 | return m_has_value; | 676 | 60 | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const Line | Count | Source | 674 | 964k | { | 675 | 964k | return m_has_value; | 676 | 964k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const Line | Count | Source | 674 | 150k | { | 675 | 150k | return m_has_value; | 676 | 150k | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const Line | Count | Source | 674 | 120 | { | 675 | 120 | return m_has_value; | 676 | 120 | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const Line | Count | Source | 674 | 150k | { | 675 | 150k | return m_has_value; | 676 | 150k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const Line | Count | Source | 674 | 847k | { | 675 | 847k | return m_has_value; | 676 | 847k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const Line | Count | Source | 674 | 21.3k | { | 675 | 21.3k | return m_has_value; | 676 | 21.3k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const Line | Count | Source | 674 | 42.6k | { | 675 | 42.6k | return m_has_value; | 676 | 42.6k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const Line | Count | Source | 674 | 8.17M | { | 675 | 8.17M | return m_has_value; | 676 | 8.17M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const Line | Count | Source | 674 | 997k | { | 675 | 997k | return m_has_value; | 676 | 997k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const Line | Count | Source | 674 | 8.13M | { | 675 | 8.13M | return m_has_value; | 676 | 8.13M | } |
|
677 | | |
678 | | template <typename... Args> |
679 | | void construct(Args&&... args) noexcept( |
680 | | std::is_nothrow_constructible_v<T, Args...>) |
681 | 6.54M | { |
682 | 6.54M | scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...); |
683 | 6.54M | m_has_value = true; |
684 | 6.54M | } Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 681 | 312k | { | 682 | 312k | scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...); | 683 | 312k | m_has_value = true; | 684 | 312k | } |
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) void scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 681 | 311k | { | 682 | 311k | scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...); | 683 | 311k | m_has_value = true; | 684 | 311k | } |
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 681 | 760 | { | 682 | 760 | scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...); | 683 | 760 | m_has_value = true; | 684 | 760 | } |
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) void scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 681 | 760 | { | 682 | 760 | scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...); | 683 | 760 | m_has_value = true; | 684 | 760 | } |
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 681 | 257k | { | 682 | 257k | scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...); | 683 | 257k | m_has_value = true; | 684 | 257k | } |
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 681 | 1.37k | { | 682 | 1.37k | scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...); | 683 | 1.37k | m_has_value = true; | 684 | 1.37k | } |
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 681 | 576 | { | 682 | 576 | scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...); | 683 | 576 | m_has_value = true; | 684 | 576 | } |
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 681 | 2.67M | { | 682 | 2.67M | scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...); | 683 | 2.67M | m_has_value = true; | 684 | 2.67M | } |
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 681 | 313k | { | 682 | 313k | scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...); | 683 | 313k | m_has_value = true; | 684 | 313k | } |
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 681 | 2.67M | { | 682 | 2.67M | scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...); | 683 | 2.67M | m_has_value = true; | 684 | 2.67M | } |
|
685 | | template <typename... Args> |
686 | | void construct_unexpected(Args&&... args) noexcept( |
687 | | std::is_nothrow_constructible_v<E, Args...>) |
688 | 415k | { |
689 | 415k | scn::detail::construct_at(unexpected_ptr(), |
690 | 415k | std::forward<Args>(args)...); |
691 | 415k | m_has_value = false; |
692 | 415k | } Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 688 | 9.56k | { | 689 | 9.56k | scn::detail::construct_at(unexpected_ptr(), | 690 | 9.56k | std::forward<Args>(args)...); | 691 | 9.56k | m_has_value = false; | 692 | 9.56k | } |
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 688 | 20 | { | 689 | 20 | scn::detail::construct_at(unexpected_ptr(), | 690 | 20 | std::forward<Args>(args)...); | 691 | 20 | m_has_value = false; | 692 | 20 | } |
void scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 688 | 10.0k | { | 689 | 10.0k | scn::detail::construct_at(unexpected_ptr(), | 690 | 10.0k | std::forward<Args>(args)...); | 691 | 10.0k | m_has_value = false; | 692 | 10.0k | } |
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 688 | 49.3k | { | 689 | 49.3k | scn::detail::construct_at(unexpected_ptr(), | 690 | 49.3k | std::forward<Args>(args)...); | 691 | 49.3k | m_has_value = false; | 692 | 49.3k | } |
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 688 | 40 | { | 689 | 40 | scn::detail::construct_at(unexpected_ptr(), | 690 | 40 | std::forward<Args>(args)...); | 691 | 40 | m_has_value = false; | 692 | 40 | } |
void scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 688 | 49.3k | { | 689 | 49.3k | scn::detail::construct_at(unexpected_ptr(), | 690 | 49.3k | std::forward<Args>(args)...); | 691 | 49.3k | m_has_value = false; | 692 | 49.3k | } |
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 688 | 48.8k | { | 689 | 48.8k | scn::detail::construct_at(unexpected_ptr(), | 690 | 48.8k | std::forward<Args>(args)...); | 691 | 48.8k | m_has_value = false; | 692 | 48.8k | } |
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 688 | 19.9k | { | 689 | 19.9k | scn::detail::construct_at(unexpected_ptr(), | 690 | 19.9k | std::forward<Args>(args)...); | 691 | 19.9k | m_has_value = false; | 692 | 19.9k | } |
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 688 | 42.1k | { | 689 | 42.1k | scn::detail::construct_at(unexpected_ptr(), | 690 | 42.1k | std::forward<Args>(args)...); | 691 | 42.1k | m_has_value = false; | 692 | 42.1k | } |
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 688 | 99.8k | { | 689 | 99.8k | scn::detail::construct_at(unexpected_ptr(), | 690 | 99.8k | std::forward<Args>(args)...); | 691 | 99.8k | m_has_value = false; | 692 | 99.8k | } |
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 688 | 28.8k | { | 689 | 28.8k | scn::detail::construct_at(unexpected_ptr(), | 690 | 28.8k | std::forward<Args>(args)...); | 691 | 28.8k | m_has_value = false; | 692 | 28.8k | } |
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&) Line | Count | Source | 688 | 57.6k | { | 689 | 57.6k | scn::detail::construct_at(unexpected_ptr(), | 690 | 57.6k | std::forward<Args>(args)...); | 691 | 57.6k | m_has_value = false; | 692 | 57.6k | } |
|
693 | | |
694 | | void destroy_value() noexcept |
695 | 6.54M | { |
696 | 6.54M | scn::detail::destroy_at(value_ptr()); |
697 | 6.54M | } Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value() scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value() Line | Count | Source | 695 | 312k | { | 696 | 312k | scn::detail::destroy_at(value_ptr()); | 697 | 312k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value() scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value() Line | Count | Source | 695 | 311k | { | 696 | 311k | scn::detail::destroy_at(value_ptr()); | 697 | 311k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value() scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value() Line | Count | Source | 695 | 760 | { | 696 | 760 | scn::detail::destroy_at(value_ptr()); | 697 | 760 | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value() scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value() Line | Count | Source | 695 | 760 | { | 696 | 760 | scn::detail::destroy_at(value_ptr()); | 697 | 760 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value() Line | Count | Source | 695 | 257k | { | 696 | 257k | scn::detail::destroy_at(value_ptr()); | 697 | 257k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value() Line | Count | Source | 695 | 1.37k | { | 696 | 1.37k | scn::detail::destroy_at(value_ptr()); | 697 | 1.37k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value() Line | Count | Source | 695 | 576 | { | 696 | 576 | scn::detail::destroy_at(value_ptr()); | 697 | 576 | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value() Line | Count | Source | 695 | 2.67M | { | 696 | 2.67M | scn::detail::destroy_at(value_ptr()); | 697 | 2.67M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value() Line | Count | Source | 695 | 313k | { | 696 | 313k | scn::detail::destroy_at(value_ptr()); | 697 | 313k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value() Line | Count | Source | 695 | 2.67M | { | 696 | 2.67M | scn::detail::destroy_at(value_ptr()); | 697 | 2.67M | } |
|
698 | | void destroy_unexpected() noexcept |
699 | 415k | { |
700 | 415k | scn::detail::destroy_at(unexpected_ptr()); |
701 | 415k | } Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected() scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected() Line | Count | Source | 699 | 9.56k | { | 700 | 9.56k | scn::detail::destroy_at(unexpected_ptr()); | 701 | 9.56k | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected() Line | Count | Source | 699 | 20 | { | 700 | 20 | scn::detail::destroy_at(unexpected_ptr()); | 701 | 20 | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected() Line | Count | Source | 699 | 10.0k | { | 700 | 10.0k | scn::detail::destroy_at(unexpected_ptr()); | 701 | 10.0k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected() scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected() Line | Count | Source | 699 | 49.3k | { | 700 | 49.3k | scn::detail::destroy_at(unexpected_ptr()); | 701 | 49.3k | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected() Line | Count | Source | 699 | 40 | { | 700 | 40 | scn::detail::destroy_at(unexpected_ptr()); | 701 | 40 | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected() Line | Count | Source | 699 | 49.3k | { | 700 | 49.3k | scn::detail::destroy_at(unexpected_ptr()); | 701 | 49.3k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected() Line | Count | Source | 699 | 48.8k | { | 700 | 48.8k | scn::detail::destroy_at(unexpected_ptr()); | 701 | 48.8k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected() Line | Count | Source | 699 | 19.9k | { | 700 | 19.9k | scn::detail::destroy_at(unexpected_ptr()); | 701 | 19.9k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected() Line | Count | Source | 699 | 42.1k | { | 700 | 42.1k | scn::detail::destroy_at(unexpected_ptr()); | 701 | 42.1k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected() Line | Count | Source | 699 | 99.8k | { | 700 | 99.8k | scn::detail::destroy_at(unexpected_ptr()); | 701 | 99.8k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected() Line | Count | Source | 699 | 28.8k | { | 700 | 28.8k | scn::detail::destroy_at(unexpected_ptr()); | 701 | 28.8k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected() Line | Count | Source | 699 | 57.6k | { | 700 | 57.6k | scn::detail::destroy_at(unexpected_ptr()); | 701 | 57.6k | } |
|
702 | | |
703 | | private: |
704 | | T* value_ptr() noexcept |
705 | 19.6M | { |
706 | 19.6M | return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T))); |
707 | 19.6M | } Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr() scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr() Line | Count | Source | 705 | 938k | { | 706 | 938k | return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T))); | 707 | 938k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr() scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr() Line | Count | Source | 705 | 933k | { | 706 | 933k | return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T))); | 707 | 933k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr() scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr() Line | Count | Source | 705 | 2.28k | { | 706 | 2.28k | return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T))); | 707 | 2.28k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr() scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr() Line | Count | Source | 705 | 2.28k | { | 706 | 2.28k | return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T))); | 707 | 2.28k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr() Line | Count | Source | 705 | 771k | { | 706 | 771k | return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T))); | 707 | 771k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr() Line | Count | Source | 705 | 2.75k | { | 706 | 2.75k | return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T))); | 707 | 2.75k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr() Line | Count | Source | 705 | 1.15k | { | 706 | 1.15k | return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T))); | 707 | 1.15k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr() Line | Count | Source | 705 | 8.01M | { | 706 | 8.01M | return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T))); | 707 | 8.01M | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr() Line | Count | Source | 705 | 939k | { | 706 | 939k | return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T))); | 707 | 939k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr() Line | Count | Source | 705 | 8.01M | { | 706 | 8.01M | return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T))); | 707 | 8.01M | } |
|
708 | | const T* value_ptr() const noexcept |
709 | | { |
710 | | return reinterpret_cast<const T*>( |
711 | | SCN_ASSUME_ALIGNED(m_memory, alignof(T))); |
712 | | } |
713 | | |
714 | | SCN_GCC_PUSH |
715 | | SCN_GCC_IGNORE("-Wcast-align") |
716 | | unexpected<E>* unexpected_ptr() noexcept |
717 | 949k | { |
718 | 949k | return reinterpret_cast<unexpected<E>*>( |
719 | 949k | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); |
720 | 949k | } Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr() scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr() Line | Count | Source | 717 | 28.6k | { | 718 | 28.6k | return reinterpret_cast<unexpected<E>*>( | 719 | 28.6k | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); | 720 | 28.6k | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr() Line | Count | Source | 717 | 60 | { | 718 | 60 | return reinterpret_cast<unexpected<E>*>( | 719 | 60 | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); | 720 | 60 | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr() Line | Count | Source | 717 | 30.2k | { | 718 | 30.2k | return reinterpret_cast<unexpected<E>*>( | 719 | 30.2k | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); | 720 | 30.2k | } |
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr() scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr() Line | Count | Source | 717 | 148k | { | 718 | 148k | return reinterpret_cast<unexpected<E>*>( | 719 | 148k | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); | 720 | 148k | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr() Line | Count | Source | 717 | 120 | { | 718 | 120 | return reinterpret_cast<unexpected<E>*>( | 719 | 120 | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); | 720 | 120 | } |
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr() Line | Count | Source | 717 | 148k | { | 718 | 148k | return reinterpret_cast<unexpected<E>*>( | 719 | 148k | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); | 720 | 148k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr() Line | Count | Source | 717 | 97.6k | { | 718 | 97.6k | return reinterpret_cast<unexpected<E>*>( | 719 | 97.6k | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); | 720 | 97.6k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr() Line | Count | Source | 717 | 39.9k | { | 718 | 39.9k | return reinterpret_cast<unexpected<E>*>( | 719 | 39.9k | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); | 720 | 39.9k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr() Line | Count | Source | 717 | 84.2k | { | 718 | 84.2k | return reinterpret_cast<unexpected<E>*>( | 719 | 84.2k | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); | 720 | 84.2k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr() Line | Count | Source | 717 | 199k | { | 718 | 199k | return reinterpret_cast<unexpected<E>*>( | 719 | 199k | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); | 720 | 199k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr() Line | Count | Source | 717 | 57.6k | { | 718 | 57.6k | return reinterpret_cast<unexpected<E>*>( | 719 | 57.6k | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); | 720 | 57.6k | } |
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr() Line | Count | Source | 717 | 115k | { | 718 | 115k | return reinterpret_cast<unexpected<E>*>( | 719 | 115k | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); | 720 | 115k | } |
|
721 | | const unexpected<E>* unexpected_ptr() const noexcept |
722 | | { |
723 | | return reinterpret_cast<const unexpected<E>*>( |
724 | | SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>))); |
725 | | } |
726 | | SCN_GCC_POP |
727 | | |
728 | | static constexpr std::size_t required_size = |
729 | | detail::max(sizeof(T), sizeof(unexpected<E>)); |
730 | | static constexpr std::size_t required_alignment = |
731 | | detail::max(alignof(T), alignof(unexpected<E>)); |
732 | | |
733 | | alignas(required_alignment) unsigned char m_memory[required_size]; |
734 | | bool m_has_value; |
735 | | }; |
736 | | |
737 | | template <typename E> |
738 | | struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> { |
739 | | constexpr expected_storage_base() noexcept : m_has_value(true) {} |
740 | | |
741 | | explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept |
742 | | : m_has_value(false) |
743 | | { |
744 | | } |
745 | | |
746 | | explicit constexpr expected_storage_base(std::in_place_t) noexcept |
747 | | : m_has_value(true) |
748 | | { |
749 | | } |
750 | | |
751 | | template <typename... Args, |
752 | | typename = std::enable_if_t<std::is_constructible_v<E, Args...>>> |
753 | | explicit constexpr expected_storage_base( |
754 | | unexpect_t, |
755 | | Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>) |
756 | | : m_has_value(false) |
757 | | { |
758 | | construct_unexpected(std::in_place, std::forward<Args>(args)...); |
759 | | } |
760 | | |
761 | | ~expected_storage_base() |
762 | | { |
763 | | if (!has_value()) { |
764 | | destroy_unexpected(); |
765 | | } |
766 | | } |
767 | | |
768 | | constexpr unexpected<E>& get_unexpected() & noexcept |
769 | | { |
770 | | return *unexpected_ptr(); |
771 | | } |
772 | | constexpr const unexpected<E>& get_unexpected() const& noexcept |
773 | | { |
774 | | return *unexpected_ptr(); |
775 | | } |
776 | | constexpr unexpected<E>&& get_unexpected() && noexcept |
777 | | { |
778 | | return std::move(*unexpected_ptr()); |
779 | | } |
780 | | constexpr const unexpected<E>&& get_unexpected() const&& noexcept |
781 | | { |
782 | | return std::move(*unexpected_ptr()); |
783 | | } |
784 | | |
785 | | SCN_NODISCARD constexpr bool has_value() const noexcept |
786 | | { |
787 | | return m_has_value; |
788 | | } |
789 | | |
790 | | template <typename... Args> |
791 | | constexpr void construct(Args&&...) noexcept |
792 | | { |
793 | | m_has_value = true; |
794 | | } |
795 | | template <typename... Args> |
796 | | void construct_unexpected(Args&&... args) noexcept( |
797 | | std::is_nothrow_constructible_v<E, Args...>) |
798 | | { |
799 | | scn::detail::construct_at(unexpected_ptr(), |
800 | | std::forward<Args>(args)...); |
801 | | m_has_value = false; |
802 | | } |
803 | | |
804 | | static constexpr void destroy_value() noexcept {} |
805 | | void destroy_unexpected() noexcept |
806 | | { |
807 | | scn::detail::destroy_at(unexpected_ptr()); |
808 | | } |
809 | | |
810 | | private: |
811 | | SCN_GCC_PUSH |
812 | | SCN_GCC_IGNORE("-Wcast-align") |
813 | | unexpected<E>* unexpected_ptr() |
814 | | { |
815 | | return reinterpret_cast<unexpected<E>*>(m_memory); |
816 | | } |
817 | | const unexpected<E>* unexpected_ptr() const |
818 | | { |
819 | | return reinterpret_cast<const unexpected<E>*>(m_memory); |
820 | | } |
821 | | SCN_GCC_POP |
822 | | |
823 | | static constexpr std::size_t required_size = sizeof(unexpected<E>); |
824 | | static constexpr std::size_t required_alignment = alignof(unexpected<E>); |
825 | | |
826 | | alignas(required_alignment) unsigned char m_memory[required_size]; |
827 | | bool m_has_value; |
828 | | }; |
829 | | |
830 | | template <typename T, typename U> |
831 | | using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>; |
832 | | |
833 | | template <typename T, |
834 | | typename E, |
835 | | bool IsTriviallyCopyable = |
836 | | std::conjunction_v<std::is_trivially_copyable<T>, |
837 | | std::is_trivially_copyable<E>>> |
838 | | struct expected_operations_base; |
839 | | |
840 | | template <typename T, typename E> |
841 | | struct SCN_TRIVIAL_ABI expected_operations_base<T, E, true> |
842 | | : expected_storage_base<T, E> { |
843 | | using expected_storage_base<T, E>::expected_storage_base; |
844 | | }; |
845 | | |
846 | | template <typename T, typename E> |
847 | | struct SCN_TRIVIAL_ABI expected_operations_base<T, E, false> |
848 | | : expected_storage_base<T, E> { |
849 | | using expected_storage_base<T, E>::expected_storage_base; |
850 | | |
851 | | expected_operations_base(const expected_operations_base& other) noexcept( |
852 | | std::is_nothrow_copy_constructible_v<T> && |
853 | | std::is_nothrow_copy_constructible_v<E>) |
854 | | : expected_storage_base<T, E>(deferred_init_tag) |
855 | | { |
856 | | construct_common(other); |
857 | | } |
858 | | expected_operations_base(expected_operations_base&& other) noexcept( |
859 | | std::is_nothrow_move_constructible_v<T> && |
860 | | std::is_nothrow_move_constructible_v<E>) |
861 | | : expected_storage_base<T, E>(deferred_init_tag) |
862 | | { |
863 | | construct_common(std::move(other)); |
864 | | } |
865 | | |
866 | | expected_operations_base& operator=(const expected_operations_base& other) |
867 | | // gcc 11 and lower evaluate noexcept in a weird context |
868 | | #if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0) |
869 | | noexcept(noexcept( |
870 | | SCN_DECLVAL(expected_operations_base&).assign_common(other))) |
871 | | #else |
872 | | noexcept(noexcept(assign_common(other))) |
873 | | #endif |
874 | | { |
875 | | assign_common(other); |
876 | | return *this; |
877 | | } |
878 | | expected_operations_base& operator=(expected_operations_base&& other) |
879 | | #if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0) |
880 | | noexcept(noexcept(SCN_DECLVAL(expected_operations_base&) |
881 | | .assign_common(std::move(other)))) |
882 | | #else |
883 | | noexcept(noexcept(assign_common(std::move(other)))) |
884 | | #endif |
885 | | { |
886 | | assign_common(std::move(other)); |
887 | | return *this; |
888 | | } |
889 | | |
890 | | ~expected_operations_base() = default; |
891 | | |
892 | | private: |
893 | | template <typename Other> |
894 | | void construct_common(Other&& other) noexcept( |
895 | | noexcept(expected_storage_base<T, E>::construct( |
896 | | std::forward<Other>(other).get_value())) && |
897 | | noexcept(expected_storage_base<T, E>::construct_unexpected( |
898 | | std::forward<Other>(other).get_unexpected()))) |
899 | | { |
900 | | if (other.has_value()) { |
901 | | this->construct(std::forward<Other>(other).get_value()); |
902 | | } |
903 | | else { |
904 | | this->construct_unexpected( |
905 | | std::forward<Other>(other).get_unexpected()); |
906 | | } |
907 | | } |
908 | | |
909 | | template <typename Other> |
910 | | void assign_common(Other&& other) |
911 | | #if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0) |
912 | | noexcept( |
913 | | noexcept(SCN_DECLVAL(expected_operations_base&) |
914 | | .reassign_value(std::forward<Other>(other))) && |
915 | | noexcept(SCN_DECLVAL(expected_operations_base&) |
916 | | .reassign_unexpected(std::forward<Other>(other))) && |
917 | | noexcept(SCN_DECLVAL(expected_operations_base&) |
918 | | .assign_value_over_unexpected( |
919 | | std::forward<Other>(other))) && |
920 | | noexcept( |
921 | | SCN_DECLVAL(expected_operations_base&) |
922 | | .assign_unexpected_over_value(std::forward<Other>(other)))) |
923 | | #else |
924 | | noexcept( |
925 | | noexcept(reassign_value(std::forward<Other>(other))) && |
926 | | noexcept(reassign_unexpected(std::forward<Other>(other))) && |
927 | | noexcept( |
928 | | assign_value_over_unexpected(std::forward<Other>(other))) && |
929 | | noexcept(assign_unexpected_over_value(std::forward<Other>(other)))) |
930 | | #endif |
931 | | { |
932 | | if (this->has_value()) { |
933 | | if (other.has_value()) { |
934 | | return reassign_value(std::forward<Other>(other)); |
935 | | } |
936 | | return assign_unexpected_over_value(std::forward<Other>(other)); |
937 | | } |
938 | | |
939 | | if (other.has_value()) { |
940 | | return assign_value_over_unexpected(std::forward<Other>(other)); |
941 | | } |
942 | | return reassign_unexpected(std::forward<Other>(other)); |
943 | | } |
944 | | |
945 | | template <typename Other> |
946 | | void reassign_value(Other&& other) noexcept( |
947 | | std::is_nothrow_assignable_v< |
948 | | T, |
949 | | decltype(std::forward<Other>(other).get_value())>) |
950 | | { |
951 | | this->get_value() = std::forward<Other>(other).get_value(); |
952 | | } |
953 | | |
954 | | template <typename Other> |
955 | | void reassign_unexpected(Other&& other) noexcept( |
956 | | std::is_nothrow_assignable_v< |
957 | | E, |
958 | | decltype(std::forward<Other>(other).get_unexpected())>) |
959 | | { |
960 | | this->get_unexpected() = std::forward<Other>(other).get_unexpected(); |
961 | | } |
962 | | |
963 | | #if SCN_HAS_EXCEPTIONS |
964 | | void assign_value_over_unexpected( |
965 | | const expected_operations_base& |
966 | | other) noexcept(std::is_nothrow_copy_constructible_v<T> || |
967 | | std::is_nothrow_move_constructible_v<T>) |
968 | | { |
969 | | if constexpr (std::is_nothrow_copy_constructible_v<T>) { |
970 | | this->destroy_unexpected(); |
971 | | this->construct(other.get_value()); |
972 | | } |
973 | | else if constexpr (std::is_nothrow_move_constructible_v<T>) { |
974 | | T tmp = other.get_value(); |
975 | | this->destroy_unexpected(); |
976 | | this->construct(std::move(tmp)); |
977 | | } |
978 | | else { |
979 | | auto tmp = std::move(this->get_unexpecetd()); |
980 | | this->destroy_unexpected(); |
981 | | |
982 | | try { |
983 | | this->construct(other.get()); |
984 | | } |
985 | | catch (...) { |
986 | | this->construct_unexpected(std::move(tmp)); |
987 | | throw; |
988 | | } |
989 | | } |
990 | | } |
991 | | |
992 | | void |
993 | | assign_value_over_unexpected(expected_operations_base&& other) noexcept( |
994 | | std::is_nothrow_move_constructible_v<T>) |
995 | | { |
996 | | if constexpr (std::is_nothrow_move_constructible_v<T>) { |
997 | | this->destroy_unexpected(); |
998 | | this->construct(std::move(other).get_value()); |
999 | | } |
1000 | | else { |
1001 | | auto tmp = std::move(this->get_unexpected()); |
1002 | | this->destroy_unexpected(); |
1003 | | |
1004 | | try { |
1005 | | this->construct(std::move(other).get_value()); |
1006 | | } |
1007 | | catch (...) { |
1008 | | this->construct_unexpected(std::move(tmp)); |
1009 | | throw; |
1010 | | } |
1011 | | } |
1012 | | } |
1013 | | #else |
1014 | | template <typename Other> |
1015 | | void assing_value_over_unexpected(Other&& other) noexcept |
1016 | | { |
1017 | | this->destroy_unexpected(); |
1018 | | this->construct_value(std::forward<Other>(other).get_value()); |
1019 | | } |
1020 | | #endif |
1021 | | |
1022 | | template <typename Other> |
1023 | | void assign_unexpected_over_value(Other&& other) noexcept( |
1024 | | std::is_nothrow_constructible_v< |
1025 | | E, |
1026 | | decltype(std::forward<Other>(other).get_unexpected())>) |
1027 | | { |
1028 | | this->destroy_value(); |
1029 | | this->construct_unexpected(std::forward<Other>(other).get_unexpected()); |
1030 | | } |
1031 | | }; |
1032 | | |
1033 | | /* |
1034 | | * Base class trickery to conditionally mark copy and move |
1035 | | * constructors of an expected as =deleted. |
1036 | | * |
1037 | | * We need to do this, because otherwise utilities like |
1038 | | * std::is_copy_constructible wouldn't work for expected: the |
1039 | | * constructors need to be explicitly =deleted, not just cause a |
1040 | | * compiler error when trying to copy a value of a non-copyable |
1041 | | * type. |
1042 | | * |
1043 | | * Rationale for doing this with base classes is above. |
1044 | | */ |
1045 | | template <typename T, |
1046 | | typename E, |
1047 | | bool EnableCopy = (std::is_copy_constructible_v<T> && |
1048 | | std::is_copy_constructible_v<E>), |
1049 | | bool EnableMove = (std::is_move_constructible_v<T> && |
1050 | | std::is_move_constructible_v<E>)> |
1051 | | struct expected_delete_ctor_base; |
1052 | | |
1053 | | // Implementation for types that are both copy and move |
1054 | | // constructible: Copy and move constructors are =defaulted |
1055 | | template <typename T, typename E> |
1056 | | struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> { |
1057 | | expected_delete_ctor_base() = default; |
1058 | | expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) = |
1059 | | default; |
1060 | | expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default; |
1061 | | ~expected_delete_ctor_base() = default; |
1062 | | |
1063 | | expected_delete_ctor_base(const expected_delete_ctor_base&) = default; |
1064 | | expected_delete_ctor_base(expected_delete_ctor_base&&) = default; |
1065 | | }; |
1066 | | |
1067 | | // Implementation for types that are neither copy nor move |
1068 | | // constructible: Copy and move constructors are =deleted |
1069 | | template <typename T, typename E> |
1070 | | struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> { |
1071 | | expected_delete_ctor_base() = default; |
1072 | | expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) = |
1073 | | default; |
1074 | | expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default; |
1075 | | ~expected_delete_ctor_base() = default; |
1076 | | |
1077 | | expected_delete_ctor_base(const expected_delete_ctor_base&) = delete; |
1078 | | expected_delete_ctor_base(expected_delete_ctor_base&&) = delete; |
1079 | | }; |
1080 | | |
1081 | | // Implementation for types that are move constructible, but not |
1082 | | // copy constructible Copy constructor is =deleted, but move |
1083 | | // constructor is =defaulted |
1084 | | template <typename T, typename E> |
1085 | | struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> { |
1086 | | expected_delete_ctor_base() = default; |
1087 | | expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) = |
1088 | | default; |
1089 | | expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default; |
1090 | | ~expected_delete_ctor_base() = default; |
1091 | | |
1092 | | expected_delete_ctor_base(const expected_delete_ctor_base&) = delete; |
1093 | | expected_delete_ctor_base(expected_delete_ctor_base&&) = default; |
1094 | | }; |
1095 | | |
1096 | | template <typename T, typename E> |
1097 | | struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> { |
1098 | | static_assert(dependent_false<T>::value, |
1099 | | "Nonsensical type: copy constructible, but not move " |
1100 | | "constructible"); |
1101 | | }; |
1102 | | |
1103 | | // Same as above, but for assignment |
1104 | | template < |
1105 | | typename T, |
1106 | | typename E, |
1107 | | bool EnableCopy = |
1108 | | (std::is_copy_constructible_v<T> && std::is_copy_constructible_v<E> && |
1109 | | std::is_copy_assignable_v<T> && std::is_copy_assignable_v<E>), |
1110 | | bool EnableMove = |
1111 | | (std::is_move_constructible_v<T> && std::is_move_constructible_v<E> && |
1112 | | std::is_move_assignable_v<T> && std::is_move_assignable_v<E>)> |
1113 | | struct expected_delete_assign_base; |
1114 | | |
1115 | | template <typename T, typename E> |
1116 | | struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> { |
1117 | | expected_delete_assign_base() = default; |
1118 | | expected_delete_assign_base(const expected_delete_assign_base&) = default; |
1119 | | expected_delete_assign_base(expected_delete_assign_base&&) = default; |
1120 | | ~expected_delete_assign_base() = default; |
1121 | | |
1122 | | expected_delete_assign_base& operator=(const expected_delete_assign_base&) = |
1123 | | default; |
1124 | | expected_delete_assign_base& operator=(expected_delete_assign_base&&) = |
1125 | | default; |
1126 | | }; |
1127 | | |
1128 | | template <typename T, typename E> |
1129 | | struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> { |
1130 | | expected_delete_assign_base() = default; |
1131 | | expected_delete_assign_base(const expected_delete_assign_base&) = default; |
1132 | | expected_delete_assign_base(expected_delete_assign_base&&) = default; |
1133 | | ~expected_delete_assign_base() = default; |
1134 | | |
1135 | | expected_delete_assign_base& operator=(const expected_delete_assign_base&) = |
1136 | | delete; |
1137 | | expected_delete_assign_base& operator=(expected_delete_assign_base&&) = |
1138 | | delete; |
1139 | | }; |
1140 | | |
1141 | | template <typename T, typename E> |
1142 | | struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> { |
1143 | | expected_delete_assign_base() = default; |
1144 | | expected_delete_assign_base(const expected_delete_assign_base&) = default; |
1145 | | expected_delete_assign_base(expected_delete_assign_base&&) = default; |
1146 | | ~expected_delete_assign_base() = default; |
1147 | | |
1148 | | expected_delete_assign_base& operator=(const expected_delete_assign_base&) = |
1149 | | delete; |
1150 | | expected_delete_assign_base& operator=(expected_delete_assign_base&&) = |
1151 | | default; |
1152 | | }; |
1153 | | |
1154 | | template <typename T, typename E> |
1155 | | struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> { |
1156 | | static_assert(dependent_false<T>::value, |
1157 | | "Nonsensical type: copy assignable, but not move " |
1158 | | "assignable"); |
1159 | | }; |
1160 | | |
1161 | | struct non_default_ctor_tag_t {}; |
1162 | | |
1163 | | /* |
1164 | | * Same as above, but for the default constructor |
1165 | | * |
1166 | | * The constructor taking a non_default_ctor_tag_t is needed, to |
1167 | | * signal that we're not default constructing. |
1168 | | */ |
1169 | | template <typename T, |
1170 | | typename E, |
1171 | | bool = std::is_default_constructible_v<T> || std::is_void_v<T>> |
1172 | | struct SCN_TRIVIAL_ABI expected_default_ctor_base { |
1173 | | constexpr expected_default_ctor_base() = default; |
1174 | | constexpr explicit expected_default_ctor_base( |
1175 | | non_default_ctor_tag_t) noexcept |
1176 | 306M | { |
1177 | 306M | } scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 4.61M | { | 1177 | 4.61M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 341k | { | 1177 | 341k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 327k | { | 1177 | 327k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 449k | { | 1177 | 449k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 390k | { | 1177 | 390k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 436k | { | 1177 | 436k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 373k | { | 1177 | 373k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 4.45M | { | 1177 | 4.45M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 342k | { | 1177 | 342k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 328k | { | 1177 | 328k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 428k | { | 1177 | 428k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 371k | { | 1177 | 371k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 436k | { | 1177 | 436k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 375k | { | 1177 | 375k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 7.25M | { | 1177 | 7.25M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 88.2k | { | 1177 | 88.2k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 88.1k | { | 1177 | 88.1k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 131k | { | 1177 | 131k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 130k | { | 1177 | 130k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 88.4k | { | 1177 | 88.4k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 88.3k | { | 1177 | 88.3k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 4.14M | { | 1177 | 4.14M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 88.2k | { | 1177 | 88.2k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 88.1k | { | 1177 | 88.1k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 88.3k | { | 1177 | 88.3k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 88.1k | { | 1177 | 88.1k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 88.4k | { | 1177 | 88.4k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 88.3k | { | 1177 | 88.3k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 18.9M | { | 1177 | 18.9M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 12.9M | { | 1177 | 12.9M | } |
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 24.8M | { | 1177 | 24.8M | } |
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 19.8M | { | 1177 | 19.8M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 19.1M | { | 1177 | 19.1M | } |
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 6.07M | { | 1177 | 6.07M | } |
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 29.1M | { | 1177 | 29.1M | } |
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 4.16M | { | 1177 | 4.16M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 2.18M | { | 1177 | 2.18M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 2.18M | { | 1177 | 2.18M | } |
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 322k | { | 1177 | 322k | } |
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 9.43M | { | 1177 | 9.43M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 7.16k | { | 1177 | 7.16k | } |
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 5.54k | { | 1177 | 5.54k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 11.1k | { | 1177 | 11.1k | } |
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 5.84M | { | 1177 | 5.84M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 7.14k | { | 1177 | 7.14k | } |
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 1.18k | { | 1177 | 1.18k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 888 | { | 1177 | 888 | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 888 | { | 1177 | 888 | } |
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 20 | { | 1177 | 20 | } |
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 14.2M | { | 1177 | 14.2M | } |
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 3.77M | { | 1177 | 3.77M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 2.17M | { | 1177 | 2.17M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 2.17M | { | 1177 | 2.17M | } |
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 321k | { | 1177 | 321k | } |
scn::v3::detail::expected_default_ctor_base<long, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 29.6M | { | 1177 | 29.6M | } |
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 1.81M | { | 1177 | 1.81M | } |
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 292 | { | 1177 | 292 | } |
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 1.55M | { | 1177 | 1.55M | } |
scn::v3::detail::expected_default_ctor_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 44.6k | { | 1177 | 44.6k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 9.13M | { | 1177 | 9.13M | } |
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 3.55M | { | 1177 | 3.55M | } |
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 10.6M | { | 1177 | 10.6M | } |
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 1.27M | { | 1177 | 1.27M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 377k | { | 1177 | 377k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 377k | { | 1177 | 377k | } |
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 50.1k | { | 1177 | 50.1k | } |
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 10.9M | { | 1177 | 10.9M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 2.81k | { | 1177 | 2.81k | } |
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 2.06k | { | 1177 | 2.06k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 4.41k | { | 1177 | 4.41k | } |
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 5.72M | { | 1177 | 5.72M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 4.46k | { | 1177 | 4.46k | } |
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 750 | { | 1177 | 750 | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 570 | { | 1177 | 570 | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 570 | { | 1177 | 570 | } |
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 40 | { | 1177 | 40 | } |
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 8.44M | { | 1177 | 8.44M | } |
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 1.26M | { | 1177 | 1.26M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 380k | { | 1177 | 380k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 380k | { | 1177 | 380k | } |
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 50.1k | { | 1177 | 50.1k | } |
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 877k | { | 1177 | 877k | } |
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 180 | { | 1177 | 180 | } |
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 879k | { | 1177 | 879k | } |
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<wchar_t, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 2.39k | { | 1177 | 2.39k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 2.13k | { | 1177 | 2.13k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 1.27k | { | 1177 | 1.27k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 1.27k | { | 1177 | 1.27k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 510k | { | 1177 | 510k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 549k | { | 1177 | 549k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 535k | { | 1177 | 535k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 590k | { | 1177 | 590k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 619k | { | 1177 | 619k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 625k | { | 1177 | 625k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 268k | { | 1177 | 268k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 346k | { | 1177 | 346k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 309k | { | 1177 | 309k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 268k | { | 1177 | 268k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 303k | { | 1177 | 303k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 309k | { | 1177 | 309k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 21.3k | { | 1177 | 21.3k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 21.3k | { | 1177 | 21.3k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 21.3k | { | 1177 | 21.3k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 306k | { | 1177 | 306k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 21.3k | { | 1177 | 21.3k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 306k | { | 1177 | 306k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 42.6k | { | 1177 | 42.6k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 42.6k | { | 1177 | 42.6k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 42.6k | { | 1177 | 42.6k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 42.6k | { | 1177 | 42.6k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 2.77M | { | 1177 | 2.77M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 2.77M | { | 1177 | 2.77M | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 342k | { | 1177 | 342k | } |
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t) Line | Count | Source | 1176 | 2.72M | { | 1177 | 2.72M | } |
|
1178 | | }; |
1179 | | template <typename T, typename E> |
1180 | | struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> { |
1181 | | constexpr expected_default_ctor_base() = delete; |
1182 | | constexpr explicit expected_default_ctor_base( |
1183 | | non_default_ctor_tag_t) noexcept |
1184 | | { |
1185 | | } |
1186 | | }; |
1187 | | |
1188 | | template <typename T> |
1189 | | using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>; |
1190 | | |
1191 | | template <typename T> |
1192 | | struct is_expected_impl : std::false_type {}; |
1193 | | template <typename T, typename E> |
1194 | | struct is_expected_impl<expected<T, E>> : std::true_type {}; |
1195 | | template <typename T> |
1196 | | using is_expected = is_expected_impl<remove_cvref_t<T>>; |
1197 | | |
1198 | | template <typename Exp> |
1199 | | using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>; |
1200 | | |
1201 | | template <typename Exp> |
1202 | | using expected_value_type = typename remove_cvref_t<Exp>::value_type; |
1203 | | |
1204 | | template < |
1205 | | typename F, |
1206 | | typename... Args, |
1207 | | typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>> |
1208 | | constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept( |
1209 | | noexcept(std::forward<F>(f)(std::forward<Args>(args)...))) |
1210 | 6.20M | { |
1211 | 6.20M | return std::forward<F>(f)(std::forward<Args>(args)...); |
1212 | 6.20M | } decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&&) Line | Count | Source | 1210 | 128k | { | 1211 | 128k | return std::forward<F>(f)(std::forward<Args>(args)...); | 1212 | 128k | } |
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&&) Line | Count | Source | 1210 | 244k | { | 1211 | 244k | return std::forward<F>(f)(std::forward<Args>(args)...); | 1212 | 244k | } |
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error&&)Line | Count | Source | 1210 | 410k | { | 1211 | 410k | return std::forward<F>(f)(std::forward<Args>(args)...); | 1212 | 410k | } |
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error&, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error&)Line | Count | Source | 1210 | 5.42M | { | 1211 | 5.42M | return std::forward<F>(f)(std::forward<Args>(args)...); | 1212 | 5.42M | } |
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&) Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&) Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&) Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&) Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error const&, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error const&) |
1213 | | |
1214 | | // and_then |
1215 | | |
1216 | | template <typename Exp, |
1217 | | typename F, |
1218 | | std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr, |
1219 | | typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F), |
1220 | | *SCN_DECLVAL(Exp)))> |
1221 | | constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept( |
1222 | | noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) && |
1223 | | std::is_nothrow_constructible_v<Ret, |
1224 | | unexpect_t, |
1225 | | decltype(std::forward<Exp>(exp).error())>) |
1226 | | { |
1227 | | static_assert(is_expected<Ret>::value, "F must return an expected"); |
1228 | | |
1229 | | return SCN_LIKELY(exp.has_value()) |
1230 | | ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp)) |
1231 | | : Ret(unexpect, std::forward<Exp>(exp).error()); |
1232 | | } |
1233 | | template <typename Exp, |
1234 | | typename F, |
1235 | | std::enable_if_t<is_exp_void<Exp>::value>* = nullptr, |
1236 | | typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))> |
1237 | | constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept( |
1238 | | noexcept(trivial_invoke(std::forward<F>(f))) && |
1239 | | std::is_nothrow_constructible_v<Ret, |
1240 | | unexpect_t, |
1241 | | decltype(std::forward<Exp>(exp).error())>) |
1242 | | { |
1243 | | static_assert(is_expected<Ret>::value, "F must return an expected"); |
1244 | | |
1245 | | return SCN_LIKELY(exp.has_value()) |
1246 | | ? trivial_invoke(std::forward<F>(f)) |
1247 | | : Ret(unexpect, std::forward<Exp>(exp).error()); |
1248 | | } |
1249 | | |
1250 | | // or_else |
1251 | | |
1252 | | template <typename Exp, |
1253 | | typename F, |
1254 | | typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F), |
1255 | | SCN_DECLVAL(Exp).error()))> |
1256 | | constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept( |
1257 | | noexcept(trivial_invoke(std::forward<F>(f), |
1258 | | std::forward<Exp>(exp).error())) && |
1259 | | std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>) |
1260 | | { |
1261 | | static_assert(is_expected<Ret>::value, "F must return an expected"); |
1262 | | |
1263 | | return SCN_LIKELY(exp.has_value()) |
1264 | | ? Ret(std::forward<Exp>(exp)) |
1265 | | : trivial_invoke(std::forward<F>(f), |
1266 | | std::forward<Exp>(exp).error()); |
1267 | | } |
1268 | | |
1269 | | // transform |
1270 | | |
1271 | | template <typename Exp, |
1272 | | typename F, |
1273 | | std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr, |
1274 | | typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F), |
1275 | | *SCN_DECLVAL(Exp)))> |
1276 | | constexpr auto transform_impl(Exp&& exp, F&& f) |
1277 | | { |
1278 | | using result = typename remove_cvref_t<Exp>::template rebind<Ret>; |
1279 | | if constexpr (std::is_void_v<Ret>) { |
1280 | | if (SCN_LIKELY(exp.has_value())) { |
1281 | | trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp)); |
1282 | | return result(); |
1283 | | } |
1284 | | return result(unexpect, std::forward<Exp>(exp).error()); |
1285 | | } |
1286 | | else { |
1287 | | return SCN_LIKELY(exp.has_value()) |
1288 | | ? result(trivial_invoke(std::forward<F>(f), |
1289 | | *std::forward<Exp>(exp))) |
1290 | | : result(unexpect, std::forward<Exp>(exp).error()); |
1291 | | } |
1292 | | } |
1293 | | template <typename Exp, |
1294 | | typename F, |
1295 | | std::enable_if_t<is_exp_void<Exp>::value>* = nullptr, |
1296 | | typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))> |
1297 | | constexpr auto transform_impl(Exp&& exp, F&& f) |
1298 | | { |
1299 | | using result = typename remove_cvref_t<Exp>::template rebind<Ret>; |
1300 | | if constexpr (std::is_void_v<Ret>) { |
1301 | | if (SCN_LIKELY(exp.has_value())) { |
1302 | | trivial_invoke(std::forward<F>(f)); |
1303 | | return result(); |
1304 | | } |
1305 | | return result(unexpect, std::forward<Exp>(exp).error()); |
1306 | | } |
1307 | | else { |
1308 | | return SCN_LIKELY(exp.has_value()) |
1309 | | ? result(trivial_invoke(std::forward<F>(f))) |
1310 | | : result(unexpect, std::forward<Exp>(exp).error()); |
1311 | | } |
1312 | | } |
1313 | | |
1314 | | // transform_error |
1315 | | |
1316 | | template <typename Exp, |
1317 | | typename F, |
1318 | | std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr, |
1319 | | typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F), |
1320 | | SCN_DECLVAL(Exp).error()))> |
1321 | | constexpr auto transform_error_impl(Exp&& exp, F&& f) |
1322 | 49.0M | { |
1323 | | if constexpr (std::is_void_v<Ret>) { |
1324 | | using result = expected<expected_value_type<Exp>, monostate>; |
1325 | | if (SCN_LIKELY(exp.has_value())) { |
1326 | | return result(*std::forward<Exp>(exp)); |
1327 | | } |
1328 | | |
1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); |
1330 | | return result(unexpect, monostate{}); |
1331 | | } |
1332 | 49.0M | else { |
1333 | 49.0M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; |
1334 | 49.0M | return SCN_LIKELY(exp.has_value()) |
1335 | 49.0M | ? result(*std::forward<Exp>(exp)) |
1336 | 49.0M | : result(unexpect, |
1337 | 6.20M | trivial_invoke(std::forward<F>(f), |
1338 | 6.20M | std::forward<Exp>(exp).error())); |
1339 | 49.0M | } |
1340 | 49.0M | } _ZN3scn2v36detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_ Line | Count | Source | 1322 | 4.36M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 4.36M | else { | 1333 | 4.36M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 4.36M | return SCN_LIKELY(exp.has_value()) | 1335 | 4.36M | ? result(*std::forward<Exp>(exp)) | 1336 | 4.36M | : result(unexpect, | 1337 | 53.0k | trivial_invoke(std::forward<F>(f), | 1338 | 53.0k | std::forward<Exp>(exp).error())); | 1339 | 4.36M | } | 1340 | 4.36M | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_ Line | Count | Source | 1322 | 3.95M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 3.95M | else { | 1333 | 3.95M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 3.95M | return SCN_LIKELY(exp.has_value()) | 1335 | 3.95M | ? result(*std::forward<Exp>(exp)) | 1336 | 3.95M | : result(unexpect, | 1337 | 10.9k | trivial_invoke(std::forward<F>(f), | 1338 | 10.9k | std::forward<Exp>(exp).error())); | 1339 | 3.95M | } | 1340 | 3.95M | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_ Line | Count | Source | 1322 | 4.31M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 4.31M | else { | 1333 | 4.31M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 4.31M | return SCN_LIKELY(exp.has_value()) | 1335 | 4.31M | ? result(*std::forward<Exp>(exp)) | 1336 | 4.31M | : result(unexpect, | 1337 | 48.9k | trivial_invoke(std::forward<F>(f), | 1338 | 48.9k | std::forward<Exp>(exp).error())); | 1339 | 4.31M | } | 1340 | 4.31M | } |
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_ _ZN3scn2v36detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_ Line | Count | Source | 1322 | 6.81M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 6.81M | else { | 1333 | 6.81M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 6.81M | return SCN_LIKELY(exp.has_value()) | 1335 | 6.81M | ? result(*std::forward<Exp>(exp)) | 1336 | 6.81M | : result(unexpect, | 1337 | 61.2k | trivial_invoke(std::forward<F>(f), | 1338 | 61.2k | std::forward<Exp>(exp).error())); | 1339 | 6.81M | } | 1340 | 6.81M | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Line | Count | Source | 1322 | 2.18M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 2.18M | else { | 1333 | 2.18M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 2.18M | return SCN_LIKELY(exp.has_value()) | 1335 | 2.18M | ? result(*std::forward<Exp>(exp)) | 1336 | 2.18M | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 2.18M | } | 1340 | 2.18M | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_ Line | Count | Source | 1322 | 1.66M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 1.66M | else { | 1333 | 1.66M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 1.66M | return SCN_LIKELY(exp.has_value()) | 1335 | 1.66M | ? result(*std::forward<Exp>(exp)) | 1336 | 1.66M | : result(unexpect, | 1337 | 86.8k | trivial_invoke(std::forward<F>(f), | 1338 | 86.8k | std::forward<Exp>(exp).error())); | 1339 | 1.66M | } | 1340 | 1.66M | } |
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_ _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Line | Count | Source | 1322 | 812 | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 812 | else { | 1333 | 812 | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 812 | return SCN_LIKELY(exp.has_value()) | 1335 | 812 | ? result(*std::forward<Exp>(exp)) | 1336 | 812 | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 812 | } | 1340 | 812 | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Line | Count | Source | 1322 | 1.92k | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 1.92k | else { | 1333 | 1.92k | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 1.92k | return SCN_LIKELY(exp.has_value()) | 1335 | 1.92k | ? result(*std::forward<Exp>(exp)) | 1336 | 1.92k | : result(unexpect, | 1337 | 320 | trivial_invoke(std::forward<F>(f), | 1338 | 320 | std::forward<Exp>(exp).error())); | 1339 | 1.92k | } | 1340 | 1.92k | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_ Line | Count | Source | 1322 | 888 | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 888 | else { | 1333 | 888 | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 888 | return SCN_LIKELY(exp.has_value()) | 1335 | 888 | ? result(*std::forward<Exp>(exp)) | 1336 | 888 | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 888 | } | 1340 | 888 | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Line | Count | Source | 1322 | 868 | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 868 | else { | 1333 | 868 | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 868 | return SCN_LIKELY(exp.has_value()) | 1335 | 868 | ? result(*std::forward<Exp>(exp)) | 1336 | 868 | : result(unexpect, | 1337 | 868 | trivial_invoke(std::forward<F>(f), | 1338 | 868 | std::forward<Exp>(exp).error())); | 1339 | 868 | } | 1340 | 868 | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_ Line | Count | Source | 1322 | 2.17M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 2.17M | else { | 1333 | 2.17M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 2.17M | return SCN_LIKELY(exp.has_value()) | 1335 | 2.17M | ? result(*std::forward<Exp>(exp)) | 1336 | 2.17M | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 2.17M | } | 1340 | 2.17M | } |
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_ _ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_ Line | Count | Source | 1322 | 1.81M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 1.81M | else { | 1333 | 1.81M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 1.81M | return SCN_LIKELY(exp.has_value()) | 1335 | 1.81M | ? result(*std::forward<Exp>(exp)) | 1336 | 1.81M | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 1.81M | } | 1340 | 1.81M | } |
_ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_ Line | Count | Source | 1322 | 1.80M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 1.80M | else { | 1333 | 1.80M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 1.80M | return SCN_LIKELY(exp.has_value()) | 1335 | 1.80M | ? result(*std::forward<Exp>(exp)) | 1336 | 1.80M | : result(unexpect, | 1337 | 1.80M | trivial_invoke(std::forward<F>(f), | 1338 | 1.80M | std::forward<Exp>(exp).error())); | 1339 | 1.80M | } | 1340 | 1.80M | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_ Line | Count | Source | 1322 | 292 | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 292 | else { | 1333 | 292 | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 292 | return SCN_LIKELY(exp.has_value()) | 1335 | 292 | ? result(*std::forward<Exp>(exp)) | 1336 | 292 | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 292 | } | 1340 | 292 | } |
_ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_ Line | Count | Source | 1322 | 584 | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 584 | else { | 1333 | 584 | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 584 | return SCN_LIKELY(exp.has_value()) | 1335 | 584 | ? result(*std::forward<Exp>(exp)) | 1336 | 584 | : result(unexpect, | 1337 | 584 | trivial_invoke(std::forward<F>(f), | 1338 | 584 | std::forward<Exp>(exp).error())); | 1339 | 584 | } | 1340 | 584 | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_ Line | Count | Source | 1322 | 1.55M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 1.55M | else { | 1333 | 1.55M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 1.55M | return SCN_LIKELY(exp.has_value()) | 1335 | 1.55M | ? result(*std::forward<Exp>(exp)) | 1336 | 1.55M | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 1.55M | } | 1340 | 1.55M | } |
_ZN3scn2v36detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_ Line | Count | Source | 1322 | 1.50M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 1.50M | else { | 1333 | 1.50M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 1.50M | return SCN_LIKELY(exp.has_value()) | 1335 | 1.50M | ? result(*std::forward<Exp>(exp)) | 1336 | 1.50M | : result(unexpect, | 1337 | 1.50M | trivial_invoke(std::forward<F>(f), | 1338 | 1.50M | std::forward<Exp>(exp).error())); | 1339 | 1.50M | } | 1340 | 1.50M | } |
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_ _ZN3scn2v36detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_ Line | Count | Source | 1322 | 2.62M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 2.62M | else { | 1333 | 2.62M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 2.62M | return SCN_LIKELY(exp.has_value()) | 1335 | 2.62M | ? result(*std::forward<Exp>(exp)) | 1336 | 2.62M | : result(unexpect, | 1337 | 91.2k | trivial_invoke(std::forward<F>(f), | 1338 | 91.2k | std::forward<Exp>(exp).error())); | 1339 | 2.62M | } | 1340 | 2.62M | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Line | Count | Source | 1322 | 377k | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 377k | else { | 1333 | 377k | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 377k | return SCN_LIKELY(exp.has_value()) | 1335 | 377k | ? result(*std::forward<Exp>(exp)) | 1336 | 377k | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 377k | } | 1340 | 377k | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_ Line | Count | Source | 1322 | 325k | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 325k | else { | 1333 | 325k | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 325k | return SCN_LIKELY(exp.has_value()) | 1335 | 325k | ? result(*std::forward<Exp>(exp)) | 1336 | 325k | : result(unexpect, | 1337 | 321k | trivial_invoke(std::forward<F>(f), | 1338 | 321k | std::forward<Exp>(exp).error())); | 1339 | 325k | } | 1340 | 325k | } |
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_ _ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Line | Count | Source | 1322 | 458 | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 458 | else { | 1333 | 458 | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 458 | return SCN_LIKELY(exp.has_value()) | 1335 | 458 | ? result(*std::forward<Exp>(exp)) | 1336 | 458 | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 458 | } | 1340 | 458 | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_ Line | Count | Source | 1322 | 6.65M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 6.65M | else { | 1333 | 6.65M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 6.65M | return SCN_LIKELY(exp.has_value()) | 1335 | 6.65M | ? result(*std::forward<Exp>(exp)) | 1336 | 6.65M | : result(unexpect, | 1337 | 15.7k | trivial_invoke(std::forward<F>(f), | 1338 | 15.7k | std::forward<Exp>(exp).error())); | 1339 | 6.65M | } | 1340 | 6.65M | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Line | Count | Source | 1322 | 1.18k | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 1.18k | else { | 1333 | 1.18k | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 1.18k | return SCN_LIKELY(exp.has_value()) | 1335 | 1.18k | ? result(*std::forward<Exp>(exp)) | 1336 | 1.18k | : result(unexpect, | 1337 | 162 | trivial_invoke(std::forward<F>(f), | 1338 | 162 | std::forward<Exp>(exp).error())); | 1339 | 1.18k | } | 1340 | 1.18k | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_ Line | Count | Source | 1322 | 570 | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 570 | else { | 1333 | 570 | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 570 | return SCN_LIKELY(exp.has_value()) | 1335 | 570 | ? result(*std::forward<Exp>(exp)) | 1336 | 570 | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 570 | } | 1340 | 570 | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_ Line | Count | Source | 1322 | 530 | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 530 | else { | 1333 | 530 | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 530 | return SCN_LIKELY(exp.has_value()) | 1335 | 530 | ? result(*std::forward<Exp>(exp)) | 1336 | 530 | : result(unexpect, | 1337 | 530 | trivial_invoke(std::forward<F>(f), | 1338 | 530 | std::forward<Exp>(exp).error())); | 1339 | 530 | } | 1340 | 530 | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_ Line | Count | Source | 1322 | 2.63M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 2.63M | else { | 1333 | 2.63M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 2.63M | return SCN_LIKELY(exp.has_value()) | 1335 | 2.63M | ? result(*std::forward<Exp>(exp)) | 1336 | 2.63M | : result(unexpect, | 1337 | 91.5k | trivial_invoke(std::forward<F>(f), | 1338 | 91.5k | std::forward<Exp>(exp).error())); | 1339 | 2.63M | } | 1340 | 2.63M | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_ Line | Count | Source | 1322 | 380k | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 380k | else { | 1333 | 380k | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 380k | return SCN_LIKELY(exp.has_value()) | 1335 | 380k | ? result(*std::forward<Exp>(exp)) | 1336 | 380k | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 380k | } | 1340 | 380k | } |
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_ _ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_ Line | Count | Source | 1322 | 877k | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 877k | else { | 1333 | 877k | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 877k | return SCN_LIKELY(exp.has_value()) | 1335 | 877k | ? result(*std::forward<Exp>(exp)) | 1336 | 877k | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 877k | } | 1340 | 877k | } |
_ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_ Line | Count | Source | 1322 | 1.11M | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 1.11M | else { | 1333 | 1.11M | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 1.11M | return SCN_LIKELY(exp.has_value()) | 1335 | 1.11M | ? result(*std::forward<Exp>(exp)) | 1336 | 1.11M | : result(unexpect, | 1337 | 1.11M | trivial_invoke(std::forward<F>(f), | 1338 | 1.11M | std::forward<Exp>(exp).error())); | 1339 | 1.11M | } | 1340 | 1.11M | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_ Line | Count | Source | 1322 | 180 | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 180 | else { | 1333 | 180 | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 180 | return SCN_LIKELY(exp.has_value()) | 1335 | 180 | ? result(*std::forward<Exp>(exp)) | 1336 | 180 | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 180 | } | 1340 | 180 | } |
_ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSK_OT0_ Line | Count | Source | 1322 | 360 | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 360 | else { | 1333 | 360 | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 360 | return SCN_LIKELY(exp.has_value()) | 1335 | 360 | ? result(*std::forward<Exp>(exp)) | 1336 | 360 | : result(unexpect, | 1337 | 360 | trivial_invoke(std::forward<F>(f), | 1338 | 360 | std::forward<Exp>(exp).error())); | 1339 | 360 | } | 1340 | 360 | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_ Line | Count | Source | 1322 | 879k | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 879k | else { | 1333 | 879k | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 879k | return SCN_LIKELY(exp.has_value()) | 1335 | 879k | ? result(*std::forward<Exp>(exp)) | 1336 | 879k | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 879k | } | 1340 | 879k | } |
_ZN3scn2v36detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_ Line | Count | Source | 1322 | 988k | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 988k | else { | 1333 | 988k | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 988k | return SCN_LIKELY(exp.has_value()) | 1335 | 988k | ? result(*std::forward<Exp>(exp)) | 1336 | 988k | : result(unexpect, | 1337 | 988k | trivial_invoke(std::forward<F>(f), | 1338 | 988k | std::forward<Exp>(exp).error())); | 1339 | 988k | } | 1340 | 988k | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_ Line | Count | Source | 1322 | 2.10k | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 2.10k | else { | 1333 | 2.10k | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 2.10k | return SCN_LIKELY(exp.has_value()) | 1335 | 2.10k | ? result(*std::forward<Exp>(exp)) | 1336 | 2.10k | : result(unexpect, | 1337 | 102 | trivial_invoke(std::forward<F>(f), | 1338 | 102 | std::forward<Exp>(exp).error())); | 1339 | 2.10k | } | 1340 | 2.10k | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_ Line | Count | Source | 1322 | 2.13k | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 2.13k | else { | 1333 | 2.13k | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 2.13k | return SCN_LIKELY(exp.has_value()) | 1335 | 2.13k | ? result(*std::forward<Exp>(exp)) | 1336 | 2.13k | : result(unexpect, | 1337 | 174 | trivial_invoke(std::forward<F>(f), | 1338 | 174 | std::forward<Exp>(exp).error())); | 1339 | 2.13k | } | 1340 | 2.13k | } |
_ZN3scn2v36detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_ Line | Count | Source | 1322 | 1.27k | { | 1323 | | if constexpr (std::is_void_v<Ret>) { | 1324 | | using result = expected<expected_value_type<Exp>, monostate>; | 1325 | | if (SCN_LIKELY(exp.has_value())) { | 1326 | | return result(*std::forward<Exp>(exp)); | 1327 | | } | 1328 | | | 1329 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); | 1330 | | return result(unexpect, monostate{}); | 1331 | | } | 1332 | 1.27k | else { | 1333 | 1.27k | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; | 1334 | 1.27k | return SCN_LIKELY(exp.has_value()) | 1335 | 1.27k | ? result(*std::forward<Exp>(exp)) | 1336 | 1.27k | : result(unexpect, | 1337 | 0 | trivial_invoke(std::forward<F>(f), | 1338 | 0 | std::forward<Exp>(exp).error())); | 1339 | 1.27k | } | 1340 | 1.27k | } |
Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSL_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_ Unexecuted instantiation: _ZN3scn2v36detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_ |
1341 | | template <typename Exp, |
1342 | | typename F, |
1343 | | std::enable_if_t<is_exp_void<Exp>::value>* = nullptr, |
1344 | | typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F), |
1345 | | SCN_DECLVAL(Exp).error()))> |
1346 | | constexpr auto transform_error_impl(Exp&& exp, F&& f) |
1347 | | { |
1348 | | if constexpr (std::is_void_v<Ret>) { |
1349 | | using result = expected<expected_value_type<Exp>, monostate>; |
1350 | | if (SCN_LIKELY(exp.has_value())) { |
1351 | | return result(); |
1352 | | } |
1353 | | |
1354 | | trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error()); |
1355 | | return result(unexpect, monostate{}); |
1356 | | } |
1357 | | else { |
1358 | | using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>; |
1359 | | return SCN_LIKELY(exp.has_value()) |
1360 | | ? result() |
1361 | | : result(unexpect, |
1362 | | trivial_invoke(std::forward<F>(f), |
1363 | | std::forward<Exp>(exp).error())); |
1364 | | } |
1365 | | } |
1366 | | |
1367 | | template <class T, class E, class U, class G, class UR, class GR> |
1368 | | using enable_from_other = |
1369 | | std::enable_if_t<std::is_constructible_v<T, UR> && |
1370 | | std::is_constructible_v<E, GR> && |
1371 | | !std::is_constructible_v<T, expected<U, G>&> && |
1372 | | !std::is_constructible_v<T, expected<U, G>&&> && |
1373 | | !std::is_constructible_v<T, const expected<U, G>&> && |
1374 | | !std::is_constructible_v<T, const expected<U, G>&&> && |
1375 | | !std::is_convertible_v<expected<U, G>&, T> && |
1376 | | !std::is_convertible_v<expected<U, G>&&, T> && |
1377 | | !std::is_convertible_v<const expected<U, G>&, T> && |
1378 | | !std::is_convertible_v<const expected<U, G>&&, T>>; |
1379 | | } // namespace detail |
1380 | | |
1381 | | template <typename T, typename E> |
1382 | | class SCN_TRIVIAL_ABI expected |
1383 | | : private detail::expected_operations_base<T, E>, |
1384 | | private detail::expected_delete_ctor_base<T, E>, |
1385 | | private detail::expected_delete_assign_base<T, E>, |
1386 | | private detail::expected_default_ctor_base<T, E> { |
1387 | | using base = detail::expected_operations_base<T, E>; |
1388 | | using ctor_base = detail::expected_default_ctor_base<T, E>; |
1389 | | |
1390 | | static_assert(std::is_void_v<T> || std::is_destructible_v<T>, |
1391 | | "T must be void or Destructible"); |
1392 | | static_assert(std::is_destructible_v<E>, "E must be Destructible"); |
1393 | | |
1394 | | static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>); |
1395 | | static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>); |
1396 | | static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>); |
1397 | | |
1398 | | public: |
1399 | | using value_type = T; |
1400 | | using error_type = E; |
1401 | | using unexpected_type = unexpected<E>; |
1402 | | |
1403 | | template <typename U> |
1404 | | using rebind = expected<U, error_type>; |
1405 | | |
1406 | | // Special member functions are defaulted, implementations provided |
1407 | | // by base classes |
1408 | | |
1409 | | constexpr expected() = default; |
1410 | | |
1411 | | constexpr expected(const expected&) = default; |
1412 | | constexpr expected(expected&&) = default; |
1413 | | constexpr expected& operator=(const expected&) = default; |
1414 | | constexpr expected& operator=(expected&&) = default; |
1415 | | |
1416 | | ~expected() = default; |
1417 | | |
1418 | | /** |
1419 | | * Construct an expected value. |
1420 | | * Intentionally non-explicit, to make constructing an expected |
1421 | | * value as transparent as possible. |
1422 | | */ |
1423 | | template <typename U = value_type, |
1424 | | typename = std::enable_if_t<std::is_convertible_v<U, value_type>>> |
1425 | | SCN_IMPLICIT constexpr expected(U&& val) noexcept( |
1426 | | std::is_nothrow_constructible_v<base, std::in_place_t, U&&>) |
1427 | 242M | : base(std::in_place, std::forward<U>(val)), |
1428 | 242M | ctor_base(detail::non_default_ctor_tag_t{}) |
1429 | 242M | { |
1430 | 242M | } scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&) Line | Count | Source | 1427 | 3.97M | : base(std::in_place, std::forward<U>(val)), | 1428 | 3.97M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 3.97M | { | 1430 | 3.97M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&) Line | Count | Source | 1427 | 297k | : base(std::in_place, std::forward<U>(val)), | 1428 | 297k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 297k | { | 1430 | 297k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&) Line | Count | Source | 1427 | 283k | : base(std::in_place, std::forward<U>(val)), | 1428 | 283k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 283k | { | 1430 | 283k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&) Line | Count | Source | 1427 | 384k | : base(std::in_place, std::forward<U>(val)), | 1428 | 384k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 384k | { | 1430 | 384k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&) Line | Count | Source | 1427 | 325k | : base(std::in_place, std::forward<U>(val)), | 1428 | 325k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 325k | { | 1430 | 325k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&) Line | Count | Source | 1427 | 392k | : base(std::in_place, std::forward<U>(val)), | 1428 | 392k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 392k | { | 1430 | 392k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&) Line | Count | Source | 1427 | 329k | : base(std::in_place, std::forward<U>(val)), | 1428 | 329k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 329k | { | 1430 | 329k | } |
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&) Line | Count | Source | 1427 | 4.03M | : base(std::in_place, std::forward<U>(val)), | 1428 | 4.03M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 4.03M | { | 1430 | 4.03M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&) Line | Count | Source | 1427 | 298k | : base(std::in_place, std::forward<U>(val)), | 1428 | 298k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 298k | { | 1430 | 298k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&) Line | Count | Source | 1427 | 284k | : base(std::in_place, std::forward<U>(val)), | 1428 | 284k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 284k | { | 1430 | 284k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&) Line | Count | Source | 1427 | 384k | : base(std::in_place, std::forward<U>(val)), | 1428 | 384k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 384k | { | 1430 | 384k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&) Line | Count | Source | 1427 | 327k | : base(std::in_place, std::forward<U>(val)), | 1428 | 327k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 327k | { | 1430 | 327k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&) Line | Count | Source | 1427 | 392k | : base(std::in_place, std::forward<U>(val)), | 1428 | 392k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 392k | { | 1430 | 392k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&) Line | Count | Source | 1427 | 331k | : base(std::in_place, std::forward<U>(val)), | 1428 | 331k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 331k | { | 1430 | 331k | } |
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&) Line | Count | Source | 1427 | 5.97M | : base(std::in_place, std::forward<U>(val)), | 1428 | 5.97M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 5.97M | { | 1430 | 5.97M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&) Line | Count | Source | 1427 | 634 | : base(std::in_place, std::forward<U>(val)), | 1428 | 634 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 634 | { | 1430 | 634 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&) Line | Count | Source | 1427 | 539 | : base(std::in_place, std::forward<U>(val)), | 1428 | 539 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 539 | { | 1430 | 539 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&) Line | Count | Source | 1427 | 750 | : base(std::in_place, std::forward<U>(val)), | 1428 | 750 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 750 | { | 1430 | 750 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&) Line | Count | Source | 1427 | 603 | : base(std::in_place, std::forward<U>(val)), | 1428 | 603 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 603 | { | 1430 | 603 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&) Line | Count | Source | 1427 | 903 | : base(std::in_place, std::forward<U>(val)), | 1428 | 903 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 903 | { | 1430 | 903 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&) Line | Count | Source | 1427 | 733 | : base(std::in_place, std::forward<U>(val)), | 1428 | 733 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 733 | { | 1430 | 733 | } |
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&) Line | Count | Source | 1427 | 3.30M | : base(std::in_place, std::forward<U>(val)), | 1428 | 3.30M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 3.30M | { | 1430 | 3.30M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&) Line | Count | Source | 1427 | 634 | : base(std::in_place, std::forward<U>(val)), | 1428 | 634 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 634 | { | 1430 | 634 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&) Line | Count | Source | 1427 | 539 | : base(std::in_place, std::forward<U>(val)), | 1428 | 539 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 539 | { | 1430 | 539 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&) Line | Count | Source | 1427 | 750 | : base(std::in_place, std::forward<U>(val)), | 1428 | 750 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 750 | { | 1430 | 750 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&) Line | Count | Source | 1427 | 603 | : base(std::in_place, std::forward<U>(val)), | 1428 | 603 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 603 | { | 1430 | 603 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&) Line | Count | Source | 1427 | 903 | : base(std::in_place, std::forward<U>(val)), | 1428 | 903 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 903 | { | 1430 | 903 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&) Line | Count | Source | 1427 | 733 | : base(std::in_place, std::forward<U>(val)), | 1428 | 733 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 733 | { | 1430 | 733 | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&) Line | Count | Source | 1427 | 16.2M | : base(std::in_place, std::forward<U>(val)), | 1428 | 16.2M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 16.2M | { | 1430 | 16.2M | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&) Line | Count | Source | 1427 | 10.0M | : base(std::in_place, std::forward<U>(val)), | 1428 | 10.0M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 10.0M | { | 1430 | 10.0M | } |
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const*, void>(char const*&&) Line | Count | Source | 1427 | 22.1M | : base(std::in_place, std::forward<U>(val)), | 1428 | 22.1M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 22.1M | { | 1430 | 22.1M | } |
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&) Line | Count | Source | 1427 | 17.0M | : base(std::in_place, std::forward<U>(val)), | 1428 | 17.0M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 17.0M | { | 1430 | 17.0M | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&) Line | Count | Source | 1427 | 18.9M | : base(std::in_place, std::forward<U>(val)), | 1428 | 18.9M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 18.9M | { | 1430 | 18.9M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&) Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&) scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&&) Line | Count | Source | 1427 | 6.03M | : base(std::in_place, std::forward<U>(val)), | 1428 | 6.03M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 6.03M | { | 1430 | 6.03M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&) Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&) Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&) Line | Count | Source | 1427 | 1.68M | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.68M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.68M | { | 1430 | 1.68M | } |
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&) Line | Count | Source | 1427 | 4.16M | : base(std::in_place, std::forward<U>(val)), | 1428 | 4.16M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 4.16M | { | 1430 | 4.16M | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&) Line | Count | Source | 1427 | 10.6M | : base(std::in_place, std::forward<U>(val)), | 1428 | 10.6M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 10.6M | { | 1430 | 10.6M | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&) Line | Count | Source | 1427 | 2.18M | : base(std::in_place, std::forward<U>(val)), | 1428 | 2.18M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 2.18M | { | 1430 | 2.18M | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&) Line | Count | Source | 1427 | 2.18M | : base(std::in_place, std::forward<U>(val)), | 1428 | 2.18M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 2.18M | { | 1430 | 2.18M | } |
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 1427 | 312k | : base(std::in_place, std::forward<U>(val)), | 1428 | 312k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 312k | { | 1430 | 312k | } |
scn::v3::expected<char const*, scn::v3::impl::eof_error>::expected<char const*, void>(char const*&&) Line | Count | Source | 1427 | 9.38M | : base(std::in_place, std::forward<U>(val)), | 1428 | 9.38M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 9.38M | { | 1430 | 9.38M | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&) Line | Count | Source | 1427 | 6.82k | : base(std::in_place, std::forward<U>(val)), | 1428 | 6.82k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 6.82k | { | 1430 | 6.82k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&) scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&) Line | Count | Source | 1427 | 5.37k | : base(std::in_place, std::forward<U>(val)), | 1428 | 5.37k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 5.37k | { | 1430 | 5.37k | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&) Line | Count | Source | 1427 | 2.31k | : base(std::in_place, std::forward<U>(val)), | 1428 | 2.31k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 2.31k | { | 1430 | 2.31k | } |
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&) Line | Count | Source | 1427 | 5.80M | : base(std::in_place, std::forward<U>(val)), | 1428 | 5.80M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 5.80M | { | 1430 | 5.80M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&) scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&) Line | Count | Source | 1427 | 1.18k | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.18k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.18k | { | 1430 | 1.18k | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&) Line | Count | Source | 1427 | 1.60k | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.60k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.60k | { | 1430 | 1.60k | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&) Line | Count | Source | 1427 | 888 | : base(std::in_place, std::forward<U>(val)), | 1428 | 888 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 888 | { | 1430 | 888 | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&) Line | Count | Source | 1427 | 888 | : base(std::in_place, std::forward<U>(val)), | 1428 | 888 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 888 | { | 1430 | 888 | } |
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<char const*&, void>(char const*&) Line | Count | Source | 1427 | 1.22M | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.22M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.22M | { | 1430 | 1.22M | } |
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::pair<char const*, scn::v3::impl::sign_type>&&) Line | Count | Source | 1427 | 3.77M | : base(std::in_place, std::forward<U>(val)), | 1428 | 3.77M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 3.77M | { | 1430 | 3.77M | } |
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<char const*, void>(char const*&&) Line | Count | Source | 1427 | 686k | : base(std::in_place, std::forward<U>(val)), | 1428 | 686k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 686k | { | 1430 | 686k | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(scn::v3::impl::parse_integer_prefix_result<char const*>&&) Line | Count | Source | 1427 | 2.17M | : base(std::in_place, std::forward<U>(val)), | 1428 | 2.17M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 2.17M | { | 1430 | 2.17M | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(scn::v3::impl::parse_integer_prefix_result<char const*>&&) Line | Count | Source | 1427 | 2.17M | : base(std::in_place, std::forward<U>(val)), | 1428 | 2.17M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 2.17M | { | 1430 | 2.17M | } |
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 1427 | 311k | : base(std::in_place, std::forward<U>(val)), | 1428 | 311k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 311k | { | 1430 | 311k | } |
scn::v3::expected<long, scn::v3::scan_error>::expected<long, void>(long&&) Line | Count | Source | 1427 | 25.9M | : base(std::in_place, std::forward<U>(val)), | 1428 | 25.9M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 25.9M | { | 1430 | 25.9M | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&) scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&) Line | Count | Source | 1427 | 1.81M | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.81M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.81M | { | 1430 | 1.81M | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&) Line | Count | Source | 1427 | 87.8k | : base(std::in_place, std::forward<U>(val)), | 1428 | 87.8k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 87.8k | { | 1430 | 87.8k | } |
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&) Line | Count | Source | 1427 | 292 | : base(std::in_place, std::forward<U>(val)), | 1428 | 292 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 292 | { | 1430 | 292 | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&) scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::pair<char const*, scn::v3::impl::sign_type>&&) Line | Count | Source | 1427 | 1.55M | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.55M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.55M | { | 1430 | 1.55M | } |
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const*&, void>(char const*&) Line | Count | Source | 1427 | 84.4k | : base(std::in_place, std::forward<U>(val)), | 1428 | 84.4k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 84.4k | { | 1430 | 84.4k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&) scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::expected<std::__1::regex_constants::syntax_option_type, void>(std::__1::regex_constants::syntax_option_type&&) Line | Count | Source | 1427 | 44.6k | : base(std::in_place, std::forward<U>(val)), | 1428 | 44.6k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 44.6k | { | 1430 | 44.6k | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&) Line | Count | Source | 1427 | 1.98k | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.98k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.98k | { | 1430 | 1.98k | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&) Line | Count | Source | 1427 | 732 | : base(std::in_place, std::forward<U>(val)), | 1428 | 732 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 732 | { | 1430 | 732 | } |
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const* const&, void>(char const* const&) Line | Count | Source | 1427 | 7.07k | : base(std::in_place, std::forward<U>(val)), | 1428 | 7.07k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 7.07k | { | 1430 | 7.07k | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&) Line | Count | Source | 1427 | 9.03M | : base(std::in_place, std::forward<U>(val)), | 1428 | 9.03M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 9.03M | { | 1430 | 9.03M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&) Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&) scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&) Line | Count | Source | 1427 | 3.54M | : base(std::in_place, std::forward<U>(val)), | 1428 | 3.54M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 3.54M | { | 1430 | 3.54M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&) Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&) Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&) Line | Count | Source | 1427 | 34.5k | : base(std::in_place, std::forward<U>(val)), | 1428 | 34.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 34.5k | { | 1430 | 34.5k | } |
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&) Line | Count | Source | 1427 | 1.27M | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.27M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.27M | { | 1430 | 1.27M | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&) Line | Count | Source | 1427 | 3.19M | : base(std::in_place, std::forward<U>(val)), | 1428 | 3.19M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 3.19M | { | 1430 | 3.19M | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&) Line | Count | Source | 1427 | 377k | : base(std::in_place, std::forward<U>(val)), | 1428 | 377k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 377k | { | 1430 | 377k | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&) Line | Count | Source | 1427 | 377k | : base(std::in_place, std::forward<U>(val)), | 1428 | 377k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 377k | { | 1430 | 377k | } |
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 1427 | 760 | : base(std::in_place, std::forward<U>(val)), | 1428 | 760 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 760 | { | 1430 | 760 | } |
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&) Line | Count | Source | 1427 | 10.8M | : base(std::in_place, std::forward<U>(val)), | 1428 | 10.8M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 10.8M | { | 1430 | 10.8M | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&) Line | Count | Source | 1427 | 2.65k | : base(std::in_place, std::forward<U>(val)), | 1428 | 2.65k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 2.65k | { | 1430 | 2.65k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&) scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&) Line | Count | Source | 1427 | 2.06k | : base(std::in_place, std::forward<U>(val)), | 1428 | 2.06k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 2.06k | { | 1430 | 2.06k | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&) Line | Count | Source | 1427 | 1.13k | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.13k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.13k | { | 1430 | 1.13k | } |
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&) Line | Count | Source | 1427 | 5.71M | : base(std::in_place, std::forward<U>(val)), | 1428 | 5.71M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 5.71M | { | 1430 | 5.71M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&) scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&) Line | Count | Source | 1427 | 750 | : base(std::in_place, std::forward<U>(val)), | 1428 | 750 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 750 | { | 1430 | 750 | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&) Line | Count | Source | 1427 | 1.01k | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.01k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.01k | { | 1430 | 1.01k | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&) Line | Count | Source | 1427 | 570 | : base(std::in_place, std::forward<U>(val)), | 1428 | 570 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 570 | { | 1430 | 570 | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&) Line | Count | Source | 1427 | 570 | : base(std::in_place, std::forward<U>(val)), | 1428 | 570 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 570 | { | 1430 | 570 | } |
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&) Line | Count | Source | 1427 | 16.4k | : base(std::in_place, std::forward<U>(val)), | 1428 | 16.4k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 16.4k | { | 1430 | 16.4k | } |
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&) Line | Count | Source | 1427 | 1.26M | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.26M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.26M | { | 1430 | 1.26M | } |
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&) Line | Count | Source | 1427 | 2.74M | : base(std::in_place, std::forward<U>(val)), | 1428 | 2.74M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 2.74M | { | 1430 | 2.74M | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&) Line | Count | Source | 1427 | 380k | : base(std::in_place, std::forward<U>(val)), | 1428 | 380k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 380k | { | 1430 | 380k | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&) Line | Count | Source | 1427 | 380k | : base(std::in_place, std::forward<U>(val)), | 1428 | 380k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 380k | { | 1430 | 380k | } |
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 1427 | 760 | : base(std::in_place, std::forward<U>(val)), | 1428 | 760 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 760 | { | 1430 | 760 | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&) scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&) Line | Count | Source | 1427 | 877k | : base(std::in_place, std::forward<U>(val)), | 1428 | 877k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 877k | { | 1430 | 877k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&) scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&) Line | Count | Source | 1427 | 180 | : base(std::in_place, std::forward<U>(val)), | 1428 | 180 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 180 | { | 1430 | 180 | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&) scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&) Line | Count | Source | 1427 | 879k | : base(std::in_place, std::forward<U>(val)), | 1428 | 879k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 879k | { | 1430 | 879k | } |
Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&) scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&) Line | Count | Source | 1427 | 248 | : base(std::in_place, std::forward<U>(val)), | 1428 | 248 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 248 | { | 1430 | 248 | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&) Line | Count | Source | 1427 | 252 | : base(std::in_place, std::forward<U>(val)), | 1428 | 252 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 252 | { | 1430 | 252 | } |
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&) Line | Count | Source | 1427 | 874 | : base(std::in_place, std::forward<U>(val)), | 1428 | 874 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 874 | { | 1430 | 874 | } |
scn::v3::expected<long, scn::v3::scan_error>::expected<int, void>(int&&) Line | Count | Source | 1427 | 158k | : base(std::in_place, std::forward<U>(val)), | 1428 | 158k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 158k | { | 1430 | 158k | } |
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::expected<wchar_t, void>(wchar_t&&) scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&) Line | Count | Source | 1427 | 2.17k | : base(std::in_place, std::forward<U>(val)), | 1428 | 2.17k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 2.17k | { | 1430 | 2.17k | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&) Line | Count | Source | 1427 | 1.96k | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.96k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.96k | { | 1430 | 1.96k | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&) Line | Count | Source | 1427 | 1.27k | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.27k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.27k | { | 1430 | 1.27k | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&) Line | Count | Source | 1427 | 1.27k | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.27k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.27k | { | 1430 | 1.27k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>&&) Line | Count | Source | 1427 | 467k | : base(std::in_place, std::forward<U>(val)), | 1428 | 467k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 467k | { | 1430 | 467k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&) Line | Count | Source | 1427 | 485k | : base(std::in_place, std::forward<U>(val)), | 1428 | 485k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 485k | { | 1430 | 485k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>&&) Line | Count | Source | 1427 | 492k | : base(std::in_place, std::forward<U>(val)), | 1428 | 492k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 492k | { | 1430 | 492k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>&&) Line | Count | Source | 1427 | 547k | : base(std::in_place, std::forward<U>(val)), | 1428 | 547k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 547k | { | 1430 | 547k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>&&) Line | Count | Source | 1427 | 576k | : base(std::in_place, std::forward<U>(val)), | 1428 | 576k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 576k | { | 1430 | 576k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>&&) Line | Count | Source | 1427 | 583k | : base(std::in_place, std::forward<U>(val)), | 1428 | 583k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 583k | { | 1430 | 583k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>&&) Line | Count | Source | 1427 | 183k | : base(std::in_place, std::forward<U>(val)), | 1428 | 183k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 183k | { | 1430 | 183k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&) Line | Count | Source | 1427 | 218k | : base(std::in_place, std::forward<U>(val)), | 1428 | 218k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 218k | { | 1430 | 218k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>&&) Line | Count | Source | 1427 | 224k | : base(std::in_place, std::forward<U>(val)), | 1428 | 224k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 224k | { | 1430 | 224k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>&&) Line | Count | Source | 1427 | 183k | : base(std::in_place, std::forward<U>(val)), | 1428 | 183k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 183k | { | 1430 | 183k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>&&) Line | Count | Source | 1427 | 218k | : base(std::in_place, std::forward<U>(val)), | 1428 | 218k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 218k | { | 1430 | 218k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>&&) Line | Count | Source | 1427 | 224k | : base(std::in_place, std::forward<U>(val)), | 1428 | 224k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 224k | { | 1430 | 224k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&) Line | Count | Source | 1427 | 216 | : base(std::in_place, std::forward<U>(val)), | 1428 | 216 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 216 | { | 1430 | 216 | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&) Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&) scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 1427 | 257k | : base(std::in_place, std::forward<U>(val)), | 1428 | 257k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 257k | { | 1430 | 257k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 1427 | 1.37k | : base(std::in_place, std::forward<U>(val)), | 1428 | 1.37k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 1.37k | { | 1430 | 1.37k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&) Line | Count | Source | 1427 | 257k | : base(std::in_place, std::forward<U>(val)), | 1428 | 257k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 257k | { | 1430 | 257k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&) Line | Count | Source | 1427 | 96 | : base(std::in_place, std::forward<U>(val)), | 1428 | 96 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 96 | { | 1430 | 96 | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&) Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&) scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 1427 | 576 | : base(std::in_place, std::forward<U>(val)), | 1428 | 576 | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 576 | { | 1430 | 576 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 1427 | 2.67M | : base(std::in_place, std::forward<U>(val)), | 1428 | 2.67M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 2.67M | { | 1430 | 2.67M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&) Line | Count | Source | 1427 | 2.67M | : base(std::in_place, std::forward<U>(val)), | 1428 | 2.67M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 2.67M | { | 1430 | 2.67M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 1427 | 313k | : base(std::in_place, std::forward<U>(val)), | 1428 | 313k | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 313k | { | 1430 | 313k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 1427 | 2.67M | : base(std::in_place, std::forward<U>(val)), | 1428 | 2.67M | ctor_base(detail::non_default_ctor_tag_t{}) | 1429 | 2.67M | { | 1430 | 2.67M | } |
|
1431 | | |
1432 | | /// Construct an expected value directly in-place |
1433 | | template <typename... Args, |
1434 | | typename = std::enable_if_t<std::is_constructible_v<T, Args...>>> |
1435 | | explicit constexpr expected(std::in_place_t, Args&&... args) noexcept( |
1436 | | std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>) |
1437 | | : base(std::in_place, std::forward<Args>(args)...), |
1438 | | ctor_base(detail::non_default_ctor_tag_t{}) |
1439 | | { |
1440 | | } |
1441 | | |
1442 | | template <typename G = E, |
1443 | | std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr, |
1444 | | std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr> |
1445 | | explicit constexpr expected(const unexpected<G>& e) noexcept( |
1446 | | std::is_nothrow_constructible_v<base, unexpect_t, const G&>) |
1447 | | : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{}) |
1448 | | { |
1449 | | } |
1450 | | template <typename G = E, |
1451 | | std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr, |
1452 | | std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr> |
1453 | | SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept( |
1454 | | std::is_nothrow_constructible_v<base, unexpect_t, const G&>) |
1455 | | : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{}) |
1456 | | { |
1457 | | } |
1458 | | |
1459 | | template <typename G = E, |
1460 | | std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr, |
1461 | | std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr> |
1462 | | explicit constexpr expected(unexpected<G>&& e) noexcept( |
1463 | | std::is_nothrow_constructible_v<base, unexpect_t, G&&>) |
1464 | | : base(unexpect, std::move(e.error())), |
1465 | | ctor_base(detail::non_default_ctor_tag_t{}) |
1466 | | { |
1467 | | } |
1468 | | template <typename G = E, |
1469 | | std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr, |
1470 | | std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr> |
1471 | | SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept( |
1472 | | std::is_nothrow_constructible_v<base, unexpect_t, G&&>) |
1473 | 57.6M | : base(unexpect, std::move(e.error())), |
1474 | 57.6M | ctor_base(detail::non_default_ctor_tag_t{}) |
1475 | 57.6M | { |
1476 | 57.6M | } _ZN3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE Line | Count | Source | 1473 | 635k | : base(unexpect, std::move(e.error())), | 1474 | 635k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 635k | { | 1476 | 635k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 43.7k | : base(unexpect, std::move(e.error())), | 1474 | 43.7k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 43.7k | { | 1476 | 43.7k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 43.7k | : base(unexpect, std::move(e.error())), | 1474 | 43.7k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 43.7k | { | 1476 | 43.7k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 65.1k | : base(unexpect, std::move(e.error())), | 1474 | 65.1k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 65.1k | { | 1476 | 65.1k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 65.1k | : base(unexpect, std::move(e.error())), | 1474 | 65.1k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 65.1k | { | 1476 | 65.1k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 43.7k | : base(unexpect, std::move(e.error())), | 1474 | 43.7k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 43.7k | { | 1476 | 43.7k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 43.7k | : base(unexpect, std::move(e.error())), | 1474 | 43.7k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 43.7k | { | 1476 | 43.7k | } |
_ZN3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE Line | Count | Source | 1473 | 419k | : base(unexpect, std::move(e.error())), | 1474 | 419k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 419k | { | 1476 | 419k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 43.7k | : base(unexpect, std::move(e.error())), | 1474 | 43.7k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 43.7k | { | 1476 | 43.7k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 43.7k | : base(unexpect, std::move(e.error())), | 1474 | 43.7k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 43.7k | { | 1476 | 43.7k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 43.7k | : base(unexpect, std::move(e.error())), | 1474 | 43.7k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 43.7k | { | 1476 | 43.7k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 43.7k | : base(unexpect, std::move(e.error())), | 1474 | 43.7k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 43.7k | { | 1476 | 43.7k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 43.7k | : base(unexpect, std::move(e.error())), | 1474 | 43.7k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 43.7k | { | 1476 | 43.7k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 43.7k | : base(unexpect, std::move(e.error())), | 1474 | 43.7k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 43.7k | { | 1476 | 43.7k | } |
_ZN3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE Line | Count | Source | 1473 | 1.27M | : base(unexpect, std::move(e.error())), | 1474 | 1.27M | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 1.27M | { | 1476 | 1.27M | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 87.5k | : base(unexpect, std::move(e.error())), | 1474 | 87.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 87.5k | { | 1476 | 87.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 87.5k | : base(unexpect, std::move(e.error())), | 1474 | 87.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 87.5k | { | 1476 | 87.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 130k | : base(unexpect, std::move(e.error())), | 1474 | 130k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 130k | { | 1476 | 130k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 130k | : base(unexpect, std::move(e.error())), | 1474 | 130k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 130k | { | 1476 | 130k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 87.5k | : base(unexpect, std::move(e.error())), | 1474 | 87.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 87.5k | { | 1476 | 87.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 87.5k | : base(unexpect, std::move(e.error())), | 1474 | 87.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 87.5k | { | 1476 | 87.5k | } |
_ZN3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE Line | Count | Source | 1473 | 838k | : base(unexpect, std::move(e.error())), | 1474 | 838k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 838k | { | 1476 | 838k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 87.5k | : base(unexpect, std::move(e.error())), | 1474 | 87.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 87.5k | { | 1476 | 87.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 87.5k | : base(unexpect, std::move(e.error())), | 1474 | 87.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 87.5k | { | 1476 | 87.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 87.5k | : base(unexpect, std::move(e.error())), | 1474 | 87.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 87.5k | { | 1476 | 87.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 87.5k | : base(unexpect, std::move(e.error())), | 1474 | 87.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 87.5k | { | 1476 | 87.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 87.5k | : base(unexpect, std::move(e.error())), | 1474 | 87.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 87.5k | { | 1476 | 87.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 87.5k | : base(unexpect, std::move(e.error())), | 1474 | 87.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 87.5k | { | 1476 | 87.5k | } |
_ZN3scn2v38expectedIPKcNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE Line | Count | Source | 1473 | 1.09M | : base(unexpect, std::move(e.error())), | 1474 | 1.09M | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 1.09M | { | 1476 | 1.09M | } |
_ZN3scn2v38expectedIPKwNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE Line | Count | Source | 1473 | 1.78M | : base(unexpect, std::move(e.error())), | 1474 | 1.78M | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 1.78M | { | 1476 | 1.78M | } |
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE Line | Count | Source | 1473 | 675k | : base(unexpect, std::move(e.error())), | 1474 | 675k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 675k | { | 1476 | 675k | } |
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE Line | Count | Source | 1473 | 138k | : base(unexpect, std::move(e.error())), | 1474 | 138k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 138k | { | 1476 | 138k | } |
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE _ZN3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE Line | Count | Source | 1473 | 40.0k | : base(unexpect, std::move(e.error())), | 1474 | 40.0k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 40.0k | { | 1476 | 40.0k | } |
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE Unexecuted instantiation: _ZN3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEC2ISL_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE _ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE Line | Count | Source | 1473 | 1.87M | : base(unexpect, std::move(e.error())), | 1474 | 1.87M | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 1.87M | { | 1476 | 1.87M | } |
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE Line | Count | Source | 1473 | 14.9M | : base(unexpect, std::move(e.error())), | 1474 | 14.9M | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 14.9M | { | 1476 | 14.9M | } |
_ZN3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE Line | Count | Source | 1473 | 309 | : base(unexpect, std::move(e.error())), | 1474 | 309 | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 309 | { | 1476 | 309 | } |
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE _ZN3scn2v38expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE Line | Count | Source | 1473 | 9.56k | : base(unexpect, std::move(e.error())), | 1474 | 9.56k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 9.56k | { | 1476 | 9.56k | } |
_ZN3scn2v38expectedIPKcNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE Line | Count | Source | 1473 | 55.4k | : base(unexpect, std::move(e.error())), | 1474 | 55.4k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 55.4k | { | 1476 | 55.4k | } |
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE Line | Count | Source | 1473 | 348 | : base(unexpect, std::move(e.error())), | 1474 | 348 | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 348 | { | 1476 | 348 | } |
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE Line | Count | Source | 1473 | 174 | : base(unexpect, std::move(e.error())), | 1474 | 174 | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 174 | { | 1476 | 174 | } |
_ZN3scn2v38expectedINSt3__14pairIPKclEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE Line | Count | Source | 1473 | 34.5k | : base(unexpect, std::move(e.error())), | 1474 | 34.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 34.5k | { | 1476 | 34.5k | } |
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE Line | Count | Source | 1473 | 6.66k | : base(unexpect, std::move(e.error())), | 1474 | 6.66k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 6.66k | { | 1476 | 6.66k | } |
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE Line | Count | Source | 1473 | 612 | : base(unexpect, std::move(e.error())), | 1474 | 612 | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 612 | { | 1476 | 612 | } |
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE Line | Count | Source | 1473 | 4.60k | : base(unexpect, std::move(e.error())), | 1474 | 4.60k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 4.60k | { | 1476 | 4.60k | } |
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE _ZN3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEC2ISH_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 20 | : base(unexpect, std::move(e.error())), | 1474 | 20 | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 20 | { | 1476 | 20 | } |
_ZN3scn2v38expectedIPKcNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE Line | Count | Source | 1473 | 1.60M | : base(unexpect, std::move(e.error())), | 1474 | 1.60M | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 1.60M | { | 1476 | 1.60M | } |
_ZN3scn2v38expectedIPKcNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE Line | Count | Source | 1473 | 10.7M | : base(unexpect, std::move(e.error())), | 1474 | 10.7M | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 10.7M | { | 1476 | 10.7M | } |
_ZN3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE Line | Count | Source | 1473 | 102 | : base(unexpect, std::move(e.error())), | 1474 | 102 | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 102 | { | 1476 | 102 | } |
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE _ZN3scn2v38expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEC2ISD_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE Line | Count | Source | 1473 | 10.0k | : base(unexpect, std::move(e.error())), | 1474 | 10.0k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 10.0k | { | 1476 | 10.0k | } |
_ZN3scn2v38expectedIlNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE Line | Count | Source | 1473 | 3.58M | : base(unexpect, std::move(e.error())), | 1474 | 3.58M | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 3.58M | { | 1476 | 3.58M | } |
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__115regex_constants18syntax_option_typeENS0_10scan_errorEEC2IS5_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S5_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE _ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE Line | Count | Source | 1473 | 1.43M | : base(unexpect, std::move(e.error())), | 1474 | 1.43M | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 1.43M | { | 1476 | 1.43M | } |
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE Line | Count | Source | 1473 | 104k | : base(unexpect, std::move(e.error())), | 1474 | 104k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 104k | { | 1476 | 104k | } |
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE _ZN3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE Line | Count | Source | 1473 | 6.67k | : base(unexpect, std::move(e.error())), | 1474 | 6.67k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 6.67k | { | 1476 | 6.67k | } |
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE Unexecuted instantiation: _ZN3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEC2ISO_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISO_OT_EEvE4typeELPv0ETnPNSR_IXsr3stdE16is_convertible_vIST_SO_EEvE4typeELSX_0EEEONS0_10unexpectedISS_EE _ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE Line | Count | Source | 1473 | 970k | : base(unexpect, std::move(e.error())), | 1474 | 970k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 970k | { | 1476 | 970k | } |
_ZN3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE Line | Count | Source | 1473 | 6.35M | : base(unexpect, std::move(e.error())), | 1474 | 6.35M | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 6.35M | { | 1476 | 6.35M | } |
_ZN3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE Line | Count | Source | 1473 | 91 | : base(unexpect, std::move(e.error())), | 1474 | 91 | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 91 | { | 1476 | 91 | } |
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE _ZN3scn2v38expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEC2ISI_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE Line | Count | Source | 1473 | 49.3k | : base(unexpect, std::move(e.error())), | 1474 | 49.3k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 49.3k | { | 1476 | 49.3k | } |
_ZN3scn2v38expectedIPKwNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE Line | Count | Source | 1473 | 107k | : base(unexpect, std::move(e.error())), | 1474 | 107k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 107k | { | 1476 | 107k | } |
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE Line | Count | Source | 1473 | 162 | : base(unexpect, std::move(e.error())), | 1474 | 162 | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 162 | { | 1476 | 162 | } |
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE _ZN3scn2v38expectedINSt3__14pairIPKwlEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE Line | Count | Source | 1473 | 8.57k | : base(unexpect, std::move(e.error())), | 1474 | 8.57k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 8.57k | { | 1476 | 8.57k | } |
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE Line | Count | Source | 1473 | 2.13k | : base(unexpect, std::move(e.error())), | 1474 | 2.13k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 2.13k | { | 1476 | 2.13k | } |
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE Line | Count | Source | 1473 | 342 | : base(unexpect, std::move(e.error())), | 1474 | 342 | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 342 | { | 1476 | 342 | } |
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE Line | Count | Source | 1473 | 2.94k | : base(unexpect, std::move(e.error())), | 1474 | 2.94k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 2.94k | { | 1476 | 2.94k | } |
Unexecuted instantiation: _ZN3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE _ZN3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEC2ISK_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISK_OT_EEvE4typeELPv0ETnPNSN_IXsr3stdE16is_convertible_vISP_SK_EEvE4typeELST_0EEEONS0_10unexpectedISO_EE Line | Count | Source | 1473 | 40 | : base(unexpect, std::move(e.error())), | 1474 | 40 | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 40 | { | 1476 | 40 | } |
_ZN3scn2v38expectedIPKwNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE Line | Count | Source | 1473 | 971k | : base(unexpect, std::move(e.error())), | 1474 | 971k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 971k | { | 1476 | 971k | } |
_ZN3scn2v38expectedIPKwNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE Line | Count | Source | 1473 | 4.61M | : base(unexpect, std::move(e.error())), | 1474 | 4.61M | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 4.61M | { | 1476 | 4.61M | } |
_ZN3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE Line | Count | Source | 1473 | 30 | : base(unexpect, std::move(e.error())), | 1474 | 30 | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 30 | { | 1476 | 30 | } |
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE _ZN3scn2v38expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE Line | Count | Source | 1473 | 49.3k | : base(unexpect, std::move(e.error())), | 1474 | 49.3k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 49.3k | { | 1476 | 49.3k | } |
_ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE Line | Count | Source | 1473 | 226 | : base(unexpect, std::move(e.error())), | 1474 | 226 | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 226 | { | 1476 | 226 | } |
Unexecuted instantiation: _ZN3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE _ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJfEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 42.5k | : base(unexpect, std::move(e.error())), | 1474 | 42.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 42.5k | { | 1476 | 42.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 63.8k | : base(unexpect, std::move(e.error())), | 1474 | 63.8k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 63.8k | { | 1476 | 63.8k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJeEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 42.5k | : base(unexpect, std::move(e.error())), | 1474 | 42.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 42.5k | { | 1476 | 42.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJfEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 42.5k | : base(unexpect, std::move(e.error())), | 1474 | 42.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 42.5k | { | 1476 | 42.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJdEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 42.5k | : base(unexpect, std::move(e.error())), | 1474 | 42.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 42.5k | { | 1476 | 42.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJeEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 42.5k | : base(unexpect, std::move(e.error())), | 1474 | 42.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 42.5k | { | 1476 | 42.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJfEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 85.0k | : base(unexpect, std::move(e.error())), | 1474 | 85.0k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 85.0k | { | 1476 | 85.0k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 127k | : base(unexpect, std::move(e.error())), | 1474 | 127k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 127k | { | 1476 | 127k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJeEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 85.0k | : base(unexpect, std::move(e.error())), | 1474 | 85.0k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 85.0k | { | 1476 | 85.0k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJfEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 85.0k | : base(unexpect, std::move(e.error())), | 1474 | 85.0k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 85.0k | { | 1476 | 85.0k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJdEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 85.0k | : base(unexpect, std::move(e.error())), | 1474 | 85.0k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 85.0k | { | 1476 | 85.0k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJeEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE Line | Count | Source | 1473 | 85.0k | : base(unexpect, std::move(e.error())), | 1474 | 85.0k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 85.0k | { | 1476 | 85.0k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJcEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 21.1k | : base(unexpect, std::move(e.error())), | 1474 | 21.1k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 21.1k | { | 1476 | 21.1k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJbEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 21.3k | : base(unexpect, std::move(e.error())), | 1474 | 21.3k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 21.3k | { | 1476 | 21.3k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJPvEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELSA_0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSA_0EEEONS0_10unexpectedISH_EE Line | Count | Source | 1473 | 21.3k | : base(unexpect, std::move(e.error())), | 1474 | 21.3k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 21.3k | { | 1476 | 21.3k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE Line | Count | Source | 1473 | 48.8k | : base(unexpect, std::move(e.error())), | 1474 | 48.8k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 48.8k | { | 1476 | 48.8k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE Line | Count | Source | 1473 | 19.9k | : base(unexpect, std::move(e.error())), | 1474 | 19.9k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 19.9k | { | 1476 | 19.9k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEENS0_10scan_errorEEC2ISG_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE Line | Count | Source | 1473 | 48.8k | : base(unexpect, std::move(e.error())), | 1474 | 48.8k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 48.8k | { | 1476 | 48.8k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJwEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 42.5k | : base(unexpect, std::move(e.error())), | 1474 | 42.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 42.5k | { | 1476 | 42.5k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJbEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE Line | Count | Source | 1473 | 42.6k | : base(unexpect, std::move(e.error())), | 1474 | 42.6k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 42.6k | { | 1476 | 42.6k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJPvEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELSA_0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSA_0EEEONS0_10unexpectedISH_EE Line | Count | Source | 1473 | 42.6k | : base(unexpect, std::move(e.error())), | 1474 | 42.6k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 42.6k | { | 1476 | 42.6k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE Line | Count | Source | 1473 | 42.1k | : base(unexpect, std::move(e.error())), | 1474 | 42.1k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 42.1k | { | 1476 | 42.1k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE Line | Count | Source | 1473 | 99.8k | : base(unexpect, std::move(e.error())), | 1474 | 99.8k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 99.8k | { | 1476 | 99.8k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEENS0_10scan_errorEEC2ISG_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE Line | Count | Source | 1473 | 99.8k | : base(unexpect, std::move(e.error())), | 1474 | 99.8k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 99.8k | { | 1476 | 99.8k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISN_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISN_OT_EEvE4typeELPv0ETnPNSQ_IXsr3stdE16is_convertible_vISS_SN_EEvE4typeELSW_0EEEONS0_10unexpectedISR_EE Line | Count | Source | 1473 | 28.8k | : base(unexpect, std::move(e.error())), | 1474 | 28.8k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 28.8k | { | 1476 | 28.8k | } |
_ZN3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS7_12basic_stringIwNS7_11char_traitsIwEENS7_9allocatorIwEEEEEEENS0_10scan_errorEEC2ISN_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISN_OT_EEvE4typeELPv0ETnPNSQ_IXsr3stdE16is_convertible_vISS_SN_EEvE4typeELSW_0EEEONS0_10unexpectedISR_EE Line | Count | Source | 1473 | 57.6k | : base(unexpect, std::move(e.error())), | 1474 | 57.6k | ctor_base(detail::non_default_ctor_tag_t{}) | 1475 | 57.6k | { | 1476 | 57.6k | } |
|
1477 | | |
1478 | | /// Construct an unexpected value directly in-place |
1479 | | template <typename... Args, |
1480 | | typename = std::enable_if_t<std::is_constructible_v<E, Args...>>> |
1481 | | explicit constexpr expected(unexpect_t, Args&&... args) noexcept( |
1482 | | std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>) |
1483 | 6.20M | : base(unexpect, std::forward<Args>(args)...), |
1484 | 6.20M | ctor_base(detail::non_default_ctor_tag_t{}) |
1485 | 6.20M | { |
1486 | 6.20M | } scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 1483 | 1.94M | : base(unexpect, std::forward<Args>(args)...), | 1484 | 1.94M | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 1.94M | { | 1486 | 1.94M | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 1483 | 1.45M | : base(unexpect, std::forward<Args>(args)...), | 1484 | 1.45M | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 1.45M | { | 1486 | 1.45M | } |
scn::v3::expected<char const*, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 1483 | 1.55M | : base(unexpect, std::forward<Args>(args)...), | 1484 | 1.55M | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 1.55M | { | 1486 | 1.55M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Line | Count | Source | 1483 | 61.2k | : base(unexpect, std::forward<Args>(args)...), | 1484 | 61.2k | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 61.2k | { | 1486 | 61.2k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 1483 | 1.45k | : base(unexpect, std::forward<Args>(args)...), | 1484 | 1.45k | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 1.45k | { | 1486 | 1.45k | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Line | Count | Source | 1483 | 320 | : base(unexpect, std::forward<Args>(args)...), | 1484 | 320 | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 320 | { | 1486 | 320 | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Line | Count | Source | 1483 | 91.2k | : base(unexpect, std::forward<Args>(args)...), | 1484 | 91.2k | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 91.2k | { | 1486 | 91.2k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 1483 | 890 | : base(unexpect, std::forward<Args>(args)...), | 1484 | 890 | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 890 | { | 1486 | 890 | } |
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 1483 | 1.00M | : base(unexpect, std::forward<Args>(args)...), | 1484 | 1.00M | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 1.00M | { | 1486 | 1.00M | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Line | Count | Source | 1483 | 162 | : base(unexpect, std::forward<Args>(args)...), | 1484 | 162 | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 162 | { | 1486 | 162 | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Line | Count | Source | 1483 | 91.5k | : base(unexpect, std::forward<Args>(args)...), | 1484 | 91.5k | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 91.5k | { | 1486 | 91.5k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&) Line | Count | Source | 1483 | 102 | : base(unexpect, std::forward<Args>(args)...), | 1484 | 102 | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 102 | { | 1486 | 102 | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) Line | Count | Source | 1483 | 174 | : base(unexpect, std::forward<Args>(args)...), | 1484 | 174 | ctor_base(detail::non_default_ctor_tag_t{}) | 1485 | 174 | { | 1486 | 174 | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&) |
1487 | | |
1488 | | template < |
1489 | | typename U, |
1490 | | typename G, |
1491 | | std::enable_if_t<!(std::is_convertible_v<const U&, T> && |
1492 | | std::is_convertible_v<const G&, E>)>* = nullptr, |
1493 | | detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr> |
1494 | | explicit constexpr expected(const expected<U, G>& other) noexcept( |
1495 | | std::is_nothrow_constructible_v<T, const U&> && |
1496 | | std::is_nothrow_constructible_v<E, const G&>) |
1497 | | : base(), ctor_base(detail::non_default_ctor_tag_t{}) |
1498 | | { |
1499 | | if (other.has_value()) { |
1500 | | this->construct(*other); |
1501 | | } |
1502 | | else { |
1503 | | this->construct_unexpected(other.error()); |
1504 | | } |
1505 | | } |
1506 | | template < |
1507 | | typename U, |
1508 | | typename G, |
1509 | | std::enable_if_t<(std::is_convertible_v<const U&, T> && |
1510 | | std::is_convertible_v<const G&, E>)>* = nullptr, |
1511 | | detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr> |
1512 | | constexpr expected(const expected<U, G>& other) noexcept( |
1513 | | std::is_nothrow_constructible_v<T, const U&> && |
1514 | | std::is_nothrow_constructible_v<E, const G&>) |
1515 | | : base(), ctor_base(detail::non_default_ctor_tag_t{}) |
1516 | | { |
1517 | | if (other.has_value()) { |
1518 | | this->construct(*other); |
1519 | | } |
1520 | | else { |
1521 | | this->construct_unexpected(other.error()); |
1522 | | } |
1523 | | } |
1524 | | |
1525 | | template <typename U, |
1526 | | typename G, |
1527 | | std::enable_if_t<!(std::is_convertible_v<U&&, T> && |
1528 | | std::is_convertible_v<G&&, E>)>* = nullptr, |
1529 | | detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr> |
1530 | | explicit constexpr expected(expected<U, G>&& other) noexcept( |
1531 | | std::is_nothrow_constructible_v<T, U&&> && |
1532 | | std::is_nothrow_constructible_v<E, G&&>) |
1533 | | : base(), ctor_base(detail::non_default_ctor_tag_t{}) |
1534 | | { |
1535 | | if (other.has_value()) { |
1536 | | this->construct(std::move(*other)); |
1537 | | } |
1538 | | else { |
1539 | | this->construct_unexpected(std::move(other.error())); |
1540 | | } |
1541 | | } |
1542 | | template <typename U, |
1543 | | typename G, |
1544 | | std::enable_if_t<(std::is_convertible_v<U&&, T> && |
1545 | | std::is_convertible_v<G&&, E>)>* = nullptr, |
1546 | | detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr> |
1547 | | constexpr expected(expected<U, G>&& other) noexcept( |
1548 | | std::is_nothrow_constructible_v<T, U&&> && |
1549 | | std::is_nothrow_constructible_v<E, G&&>) |
1550 | | : base(), ctor_base(detail::non_default_ctor_tag_t{}) |
1551 | | { |
1552 | | if (other.has_value()) { |
1553 | | this->construct(std::move(*other)); |
1554 | | } |
1555 | | else { |
1556 | | this->construct_unexpected(std::move(other.error())); |
1557 | | } |
1558 | | } |
1559 | | |
1560 | | template <typename U = value_type, |
1561 | | typename = std::enable_if_t<std::is_convertible_v<U, value_type>>> |
1562 | | expected& operator=(U&& val) noexcept( |
1563 | | noexcept(assign_value(std::forward<U>(val)))) |
1564 | | { |
1565 | | assign_value(std::forward<U>(val)); |
1566 | | return *this; |
1567 | | } |
1568 | | |
1569 | | expected& operator=(const unexpected_type& unex) noexcept( |
1570 | | noexcept(assign_unexpected(unex))) |
1571 | | { |
1572 | | assign_unexpected(unex); |
1573 | | return *this; |
1574 | | } |
1575 | | expected& operator=(unexpected_type&& unex) noexcept( |
1576 | | noexcept(assign_unexpected(std::move(unex)))) |
1577 | | { |
1578 | | assign_unexpected(std::move(unex)); |
1579 | | return *this; |
1580 | | } |
1581 | | |
1582 | | /// Destroys the contained value, and then initializes the expected |
1583 | | /// value directly in-place. |
1584 | | template <typename... Args, |
1585 | | std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr> |
1586 | | decltype(auto) emplace(Args&&... args) noexcept( |
1587 | | std::is_nothrow_constructible_v<T, Args...>) |
1588 | | { |
1589 | | emplace_impl(std::forward<Args>(args)...); |
1590 | | if constexpr (!std::is_void_v<T>) { |
1591 | | return this->get_value(); |
1592 | | } |
1593 | | } |
1594 | | |
1595 | | using base::has_value; |
1596 | | constexpr explicit operator bool() const noexcept |
1597 | 280M | { |
1598 | 280M | return has_value(); |
1599 | 280M | } scn::v3::expected<long, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 38.2M | { | 1598 | 38.2M | return has_value(); | 1599 | 38.2M | } |
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 4.61M | { | 1598 | 4.61M | return has_value(); | 1599 | 4.61M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 341k | { | 1598 | 341k | return has_value(); | 1599 | 341k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 327k | { | 1598 | 327k | return has_value(); | 1599 | 327k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 427k | { | 1598 | 427k | return has_value(); | 1599 | 427k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 369k | { | 1598 | 369k | return has_value(); | 1599 | 369k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 436k | { | 1598 | 436k | return has_value(); | 1599 | 436k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 373k | { | 1598 | 373k | return has_value(); | 1599 | 373k | } |
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 4.45M | { | 1598 | 4.45M | return has_value(); | 1599 | 4.45M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 342k | { | 1598 | 342k | return has_value(); | 1599 | 342k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 328k | { | 1598 | 328k | return has_value(); | 1599 | 328k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 428k | { | 1598 | 428k | return has_value(); | 1599 | 428k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 371k | { | 1598 | 371k | return has_value(); | 1599 | 371k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 436k | { | 1598 | 436k | return has_value(); | 1599 | 436k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 375k | { | 1598 | 375k | return has_value(); | 1599 | 375k | } |
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 7.25M | { | 1598 | 7.25M | return has_value(); | 1599 | 7.25M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 88.2k | { | 1598 | 88.2k | return has_value(); | 1599 | 88.2k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 88.1k | { | 1598 | 88.1k | return has_value(); | 1599 | 88.1k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 88.3k | { | 1598 | 88.3k | return has_value(); | 1599 | 88.3k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 88.1k | { | 1598 | 88.1k | return has_value(); | 1599 | 88.1k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 88.4k | { | 1598 | 88.4k | return has_value(); | 1599 | 88.4k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 88.3k | { | 1598 | 88.3k | return has_value(); | 1599 | 88.3k | } |
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 4.14M | { | 1598 | 4.14M | return has_value(); | 1599 | 4.14M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 88.2k | { | 1598 | 88.2k | return has_value(); | 1599 | 88.2k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 88.1k | { | 1598 | 88.1k | return has_value(); | 1599 | 88.1k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 88.3k | { | 1598 | 88.3k | return has_value(); | 1599 | 88.3k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 88.1k | { | 1598 | 88.1k | return has_value(); | 1599 | 88.1k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 88.4k | { | 1598 | 88.4k | return has_value(); | 1599 | 88.4k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 88.3k | { | 1598 | 88.3k | return has_value(); | 1599 | 88.3k | } |
scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 44.6k | { | 1598 | 44.6k | return has_value(); | 1599 | 44.6k | } |
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::operator bool() const scn::v3::expected<char const*, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 26.4M | { | 1598 | 26.4M | return has_value(); | 1599 | 26.4M | } |
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 20.7M | { | 1598 | 20.7M | return has_value(); | 1599 | 20.7M | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 7.95M | { | 1598 | 7.95M | return has_value(); | 1599 | 7.95M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::operator bool() const scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 6.07M | { | 1598 | 6.07M | return has_value(); | 1599 | 6.07M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator bool() const scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator bool() const Line | Count | Source | 1597 | 29.3M | { | 1598 | 29.3M | return has_value(); | 1599 | 29.3M | } |
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 2.35M | { | 1598 | 2.35M | return has_value(); | 1599 | 2.35M | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 2.18M | { | 1598 | 2.18M | return has_value(); | 1599 | 2.18M | } |
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 322k | { | 1598 | 322k | return has_value(); | 1599 | 322k | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 20.7M | { | 1598 | 20.7M | return has_value(); | 1599 | 20.7M | } |
scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 5.12M | { | 1598 | 5.12M | return has_value(); | 1599 | 5.12M | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 4.42k | { | 1598 | 4.42k | return has_value(); | 1599 | 4.42k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::operator bool() const scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 5.54k | { | 1598 | 5.54k | return has_value(); | 1599 | 5.54k | } |
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 5.84M | { | 1598 | 5.84M | return has_value(); | 1599 | 5.84M | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator bool() const Line | Count | Source | 1597 | 6.57k | { | 1598 | 6.57k | return has_value(); | 1599 | 6.57k | } |
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 888 | { | 1598 | 888 | return has_value(); | 1599 | 888 | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 888 | { | 1598 | 888 | return has_value(); | 1599 | 888 | } |
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 20 | { | 1598 | 20 | return has_value(); | 1599 | 20 | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 11.4k | { | 1598 | 11.4k | return has_value(); | 1599 | 11.4k | } |
scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator bool() const Line | Count | Source | 1597 | 15.8M | { | 1598 | 15.8M | return has_value(); | 1599 | 15.8M | } |
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 2.21M | { | 1598 | 2.21M | return has_value(); | 1599 | 2.21M | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 2.17M | { | 1598 | 2.17M | return has_value(); | 1599 | 2.17M | } |
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 321k | { | 1598 | 321k | return has_value(); | 1599 | 321k | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 1.81M | { | 1598 | 1.81M | return has_value(); | 1599 | 1.81M | } |
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 292 | { | 1598 | 292 | return has_value(); | 1599 | 292 | } |
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 1.55M | { | 1598 | 1.55M | return has_value(); | 1599 | 1.55M | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 2.56M | { | 1598 | 2.56M | return has_value(); | 1599 | 2.56M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::operator bool() const scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 3.55M | { | 1598 | 3.55M | return has_value(); | 1599 | 3.55M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator bool() const scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator bool() const Line | Count | Source | 1597 | 11.1M | { | 1598 | 11.1M | return has_value(); | 1599 | 11.1M | } |
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 396k | { | 1598 | 396k | return has_value(); | 1599 | 396k | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 377k | { | 1598 | 377k | return has_value(); | 1599 | 377k | } |
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 50.1k | { | 1598 | 50.1k | return has_value(); | 1599 | 50.1k | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 13.7M | { | 1598 | 13.7M | return has_value(); | 1599 | 13.7M | } |
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 1.68M | { | 1598 | 1.68M | return has_value(); | 1599 | 1.68M | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 1.18k | { | 1598 | 1.18k | return has_value(); | 1599 | 1.18k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::operator bool() const scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 2.06k | { | 1598 | 2.06k | return has_value(); | 1599 | 2.06k | } |
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 5.72M | { | 1598 | 5.72M | return has_value(); | 1599 | 5.72M | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator bool() const Line | Count | Source | 1597 | 4.11k | { | 1598 | 4.11k | return has_value(); | 1599 | 4.11k | } |
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 570 | { | 1598 | 570 | return has_value(); | 1599 | 570 | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 570 | { | 1598 | 570 | return has_value(); | 1599 | 570 | } |
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 40 | { | 1598 | 40 | return has_value(); | 1599 | 40 | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 4.59k | { | 1598 | 4.59k | return has_value(); | 1599 | 4.59k | } |
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator bool() const Line | Count | Source | 1597 | 9.32M | { | 1598 | 9.32M | return has_value(); | 1599 | 9.32M | } |
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 386k | { | 1598 | 386k | return has_value(); | 1599 | 386k | } |
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 380k | { | 1598 | 380k | return has_value(); | 1599 | 380k | } |
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 50.1k | { | 1598 | 50.1k | return has_value(); | 1599 | 50.1k | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 877k | { | 1598 | 877k | return has_value(); | 1599 | 877k | } |
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 180 | { | 1598 | 180 | return has_value(); | 1599 | 180 | } |
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 879k | { | 1598 | 879k | return has_value(); | 1599 | 879k | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const Line | Count | Source | 1597 | 262 | { | 1598 | 262 | return has_value(); | 1599 | 262 | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 2.13k | { | 1598 | 2.13k | return has_value(); | 1599 | 2.13k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 1.27k | { | 1598 | 1.27k | return has_value(); | 1599 | 1.27k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 510k | { | 1598 | 510k | return has_value(); | 1599 | 510k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 528k | { | 1598 | 528k | return has_value(); | 1599 | 528k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 535k | { | 1598 | 535k | return has_value(); | 1599 | 535k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 590k | { | 1598 | 590k | return has_value(); | 1599 | 590k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 619k | { | 1598 | 619k | return has_value(); | 1599 | 619k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 625k | { | 1598 | 625k | return has_value(); | 1599 | 625k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 268k | { | 1598 | 268k | return has_value(); | 1599 | 268k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 303k | { | 1598 | 303k | return has_value(); | 1599 | 303k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 309k | { | 1598 | 309k | return has_value(); | 1599 | 309k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 268k | { | 1598 | 268k | return has_value(); | 1599 | 268k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 303k | { | 1598 | 303k | return has_value(); | 1599 | 303k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 309k | { | 1598 | 309k | return has_value(); | 1599 | 309k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 285k | { | 1598 | 285k | return has_value(); | 1599 | 285k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 285k | { | 1598 | 285k | return has_value(); | 1599 | 285k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 342k | { | 1598 | 342k | return has_value(); | 1599 | 342k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 2.72M | { | 1598 | 2.72M | return has_value(); | 1599 | 2.72M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 2.72M | { | 1598 | 2.72M | return has_value(); | 1599 | 2.72M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator bool() const Line | Count | Source | 1597 | 2.72M | { | 1598 | 2.72M | return has_value(); | 1599 | 2.72M | } |
|
1600 | | |
1601 | | /// Get the unexpected value, if one is contained in *this |
1602 | | constexpr error_type& error() & noexcept |
1603 | 33.0M | { |
1604 | 33.0M | SCN_EXPECT(!has_value()); |
1605 | 33.0M | return this->get_unexpected().error(); |
1606 | 33.0M | } scn::v3::expected<long, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 3.58M | { | 1604 | 3.58M | SCN_EXPECT(!has_value()); | 1605 | 3.58M | return this->get_unexpected().error(); | 1606 | 3.58M | } |
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 635k | { | 1604 | 635k | SCN_EXPECT(!has_value()); | 1605 | 635k | return this->get_unexpected().error(); | 1606 | 635k | } |
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 419k | { | 1604 | 419k | SCN_EXPECT(!has_value()); | 1605 | 419k | return this->get_unexpected().error(); | 1606 | 419k | } |
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 1.27M | { | 1604 | 1.27M | SCN_EXPECT(!has_value()); | 1605 | 1.27M | return this->get_unexpected().error(); | 1606 | 1.27M | } |
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 838k | { | 1604 | 838k | SCN_EXPECT(!has_value()); | 1605 | 838k | return this->get_unexpected().error(); | 1606 | 838k | } |
Unexecuted instantiation: scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::error() & scn::v3::expected<char const*, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 1.17M | { | 1604 | 1.17M | SCN_EXPECT(!has_value()); | 1605 | 1.17M | return this->get_unexpected().error(); | 1606 | 1.17M | } |
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 1.90M | { | 1604 | 1.90M | SCN_EXPECT(!has_value()); | 1605 | 1.90M | return this->get_unexpected().error(); | 1606 | 1.90M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::error() & scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 40.0k | { | 1604 | 40.0k | SCN_EXPECT(!has_value()); | 1605 | 40.0k | return this->get_unexpected().error(); | 1606 | 40.0k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::error() & scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() & Line | Count | Source | 1603 | 23.9k | { | 1604 | 23.9k | SCN_EXPECT(!has_value()); | 1605 | 23.9k | return this->get_unexpected().error(); | 1606 | 23.9k | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() & Line | Count | Source | 1603 | 7.18M | { | 1604 | 7.18M | SCN_EXPECT(!has_value()); | 1605 | 7.18M | return this->get_unexpected().error(); | 1606 | 7.18M | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::error() & scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 9.56k | { | 1604 | 9.56k | SCN_EXPECT(!has_value()); | 1605 | 9.56k | return this->get_unexpected().error(); | 1606 | 9.56k | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 894k | { | 1604 | 894k | SCN_EXPECT(!has_value()); | 1605 | 894k | return this->get_unexpected().error(); | 1606 | 894k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::error() & scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 174 | { | 1604 | 174 | SCN_EXPECT(!has_value()); | 1605 | 174 | return this->get_unexpected().error(); | 1606 | 174 | } |
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 34.5k | { | 1604 | 34.5k | SCN_EXPECT(!has_value()); | 1605 | 34.5k | return this->get_unexpected().error(); | 1606 | 34.5k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() & scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() & Line | Count | Source | 1603 | 2.37k | { | 1604 | 2.37k | SCN_EXPECT(!has_value()); | 1605 | 2.37k | return this->get_unexpected().error(); | 1606 | 2.37k | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::error() & scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 20 | { | 1604 | 20 | SCN_EXPECT(!has_value()); | 1605 | 20 | return this->get_unexpected().error(); | 1606 | 20 | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 7.82k | { | 1604 | 7.82k | SCN_EXPECT(!has_value()); | 1605 | 7.82k | return this->get_unexpected().error(); | 1606 | 7.82k | } |
scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() & Line | Count | Source | 1603 | 6.08k | { | 1604 | 6.08k | SCN_EXPECT(!has_value()); | 1605 | 6.08k | return this->get_unexpected().error(); | 1606 | 6.08k | } |
scn::v3::expected<char const*, scn::v3::impl::parse_error>::error() & Line | Count | Source | 1603 | 6.27M | { | 1604 | 6.27M | SCN_EXPECT(!has_value()); | 1605 | 6.27M | return this->get_unexpected().error(); | 1606 | 6.27M | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::error() & scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 10.0k | { | 1604 | 10.0k | SCN_EXPECT(!has_value()); | 1605 | 10.0k | return this->get_unexpected().error(); | 1606 | 10.0k | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::error() & scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 6.67k | { | 1604 | 6.67k | SCN_EXPECT(!has_value()); | 1605 | 6.67k | return this->get_unexpected().error(); | 1606 | 6.67k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::error() & scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() & Line | Count | Source | 1603 | 2.27k | { | 1604 | 2.27k | SCN_EXPECT(!has_value()); | 1605 | 2.27k | return this->get_unexpected().error(); | 1606 | 2.27k | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() & Line | Count | Source | 1603 | 3.34M | { | 1604 | 3.34M | SCN_EXPECT(!has_value()); | 1605 | 3.34M | return this->get_unexpected().error(); | 1606 | 3.34M | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::error() & scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 49.3k | { | 1604 | 49.3k | SCN_EXPECT(!has_value()); | 1605 | 49.3k | return this->get_unexpected().error(); | 1606 | 49.3k | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 2.01M | { | 1604 | 2.01M | SCN_EXPECT(!has_value()); | 1605 | 2.01M | return this->get_unexpected().error(); | 1606 | 2.01M | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error>::error() & scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 8.57k | { | 1604 | 8.57k | SCN_EXPECT(!has_value()); | 1605 | 8.57k | return this->get_unexpected().error(); | 1606 | 8.57k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() & scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() & Line | Count | Source | 1603 | 1.45k | { | 1604 | 1.45k | SCN_EXPECT(!has_value()); | 1605 | 1.45k | return this->get_unexpected().error(); | 1606 | 1.45k | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::error() & scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 40 | { | 1604 | 40 | SCN_EXPECT(!has_value()); | 1605 | 40 | return this->get_unexpected().error(); | 1606 | 40 | } |
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 2.84k | { | 1604 | 2.84k | SCN_EXPECT(!has_value()); | 1605 | 2.84k | return this->get_unexpected().error(); | 1606 | 2.84k | } |
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() & Line | Count | Source | 1603 | 644 | { | 1604 | 644 | SCN_EXPECT(!has_value()); | 1605 | 644 | return this->get_unexpected().error(); | 1606 | 644 | } |
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::error() & Line | Count | Source | 1603 | 3.21M | { | 1604 | 3.21M | SCN_EXPECT(!has_value()); | 1605 | 3.21M | return this->get_unexpected().error(); | 1606 | 3.21M | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::error() & scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 49.3k | { | 1604 | 49.3k | SCN_EXPECT(!has_value()); | 1605 | 49.3k | return this->get_unexpected().error(); | 1606 | 49.3k | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() & scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::error() & Line | Count | Source | 1603 | 174 | { | 1604 | 174 | SCN_EXPECT(!has_value()); | 1605 | 174 | return this->get_unexpected().error(); | 1606 | 174 | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() & |
1607 | | constexpr const error_type& error() const& noexcept |
1608 | 0 | { |
1609 | 0 | SCN_EXPECT(!has_value()); |
1610 | 0 | return this->get_unexpected().error(); |
1611 | 0 | } Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<char const*, scn::v3::impl::parse_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() const & Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() const & |
1612 | | constexpr error_type&& error() && noexcept |
1613 | 783k | { |
1614 | 783k | SCN_EXPECT(!has_value()); |
1615 | 783k | return std::move(this->get_unexpected().error()); |
1616 | 783k | } scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() && Line | Count | Source | 1613 | 114k | { | 1614 | 114k | SCN_EXPECT(!has_value()); | 1615 | 114k | return std::move(this->get_unexpected().error()); | 1616 | 114k | } |
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() && Line | Count | Source | 1613 | 102k | { | 1614 | 102k | SCN_EXPECT(!has_value()); | 1615 | 102k | return std::move(this->get_unexpected().error()); | 1616 | 102k | } |
scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() && Line | Count | Source | 1613 | 49.0k | { | 1614 | 49.0k | SCN_EXPECT(!has_value()); | 1615 | 49.0k | return std::move(this->get_unexpected().error()); | 1616 | 49.0k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() && Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() && scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() && Line | Count | Source | 1613 | 86.8k | { | 1614 | 86.8k | SCN_EXPECT(!has_value()); | 1615 | 86.8k | return std::move(this->get_unexpected().error()); | 1616 | 86.8k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() && scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() && Line | Count | Source | 1613 | 320 | { | 1614 | 320 | SCN_EXPECT(!has_value()); | 1615 | 320 | return std::move(this->get_unexpected().error()); | 1616 | 320 | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() && scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() && Line | Count | Source | 1613 | 868 | { | 1614 | 868 | SCN_EXPECT(!has_value()); | 1615 | 868 | return std::move(this->get_unexpected().error()); | 1616 | 868 | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() && Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() && scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() && Line | Count | Source | 1613 | 321k | { | 1614 | 321k | SCN_EXPECT(!has_value()); | 1615 | 321k | return std::move(this->get_unexpected().error()); | 1616 | 321k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() && scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() && Line | Count | Source | 1613 | 162 | { | 1614 | 162 | SCN_EXPECT(!has_value()); | 1615 | 162 | return std::move(this->get_unexpected().error()); | 1616 | 162 | } |
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() && Line | Count | Source | 1613 | 107k | { | 1614 | 107k | SCN_EXPECT(!has_value()); | 1615 | 107k | return std::move(this->get_unexpected().error()); | 1616 | 107k | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() && scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() && Line | Count | Source | 1613 | 530 | { | 1614 | 530 | SCN_EXPECT(!has_value()); | 1615 | 530 | return std::move(this->get_unexpected().error()); | 1616 | 530 | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() && Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() && scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() && Line | Count | Source | 1613 | 174 | { | 1614 | 174 | SCN_EXPECT(!has_value()); | 1615 | 174 | return std::move(this->get_unexpected().error()); | 1616 | 174 | } |
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() && |
1617 | | constexpr const error_type&& error() const&& noexcept |
1618 | | { |
1619 | | SCN_EXPECT(!has_value()); |
1620 | | return std::move(this->get_unexpected().error()); |
1621 | | } |
1622 | | |
1623 | | /// Get the expected value, if one is contained in *this |
1624 | | template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr> |
1625 | | constexpr U& value() & noexcept |
1626 | 233M | { |
1627 | 233M | SCN_EXPECT(has_value()); |
1628 | 233M | return this->get_value(); |
1629 | 233M | } _ZNR3scn2v38expectedIlNS0_10scan_errorEE5valueIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v Line | Count | Source | 1626 | 33.4M | { | 1627 | 33.4M | SCN_EXPECT(has_value()); | 1628 | 33.4M | return this->get_value(); | 1629 | 33.4M | } |
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v Line | Count | Source | 1626 | 3.97M | { | 1627 | 3.97M | SCN_EXPECT(has_value()); | 1628 | 3.97M | return this->get_value(); | 1629 | 3.97M | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 297k | { | 1627 | 297k | SCN_EXPECT(has_value()); | 1628 | 297k | return this->get_value(); | 1629 | 297k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 283k | { | 1627 | 283k | SCN_EXPECT(has_value()); | 1628 | 283k | return this->get_value(); | 1629 | 283k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 384k | { | 1627 | 384k | SCN_EXPECT(has_value()); | 1628 | 384k | return this->get_value(); | 1629 | 384k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 325k | { | 1627 | 325k | SCN_EXPECT(has_value()); | 1628 | 325k | return this->get_value(); | 1629 | 325k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 392k | { | 1627 | 392k | SCN_EXPECT(has_value()); | 1628 | 392k | return this->get_value(); | 1629 | 392k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 329k | { | 1627 | 329k | SCN_EXPECT(has_value()); | 1628 | 329k | return this->get_value(); | 1629 | 329k | } |
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v Line | Count | Source | 1626 | 4.03M | { | 1627 | 4.03M | SCN_EXPECT(has_value()); | 1628 | 4.03M | return this->get_value(); | 1629 | 4.03M | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 298k | { | 1627 | 298k | SCN_EXPECT(has_value()); | 1628 | 298k | return this->get_value(); | 1629 | 298k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 284k | { | 1627 | 284k | SCN_EXPECT(has_value()); | 1628 | 284k | return this->get_value(); | 1629 | 284k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 384k | { | 1627 | 384k | SCN_EXPECT(has_value()); | 1628 | 384k | return this->get_value(); | 1629 | 384k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 327k | { | 1627 | 327k | SCN_EXPECT(has_value()); | 1628 | 327k | return this->get_value(); | 1629 | 327k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 392k | { | 1627 | 392k | SCN_EXPECT(has_value()); | 1628 | 392k | return this->get_value(); | 1629 | 392k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 331k | { | 1627 | 331k | SCN_EXPECT(has_value()); | 1628 | 331k | return this->get_value(); | 1629 | 331k | } |
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v Line | Count | Source | 1626 | 5.97M | { | 1627 | 5.97M | SCN_EXPECT(has_value()); | 1628 | 5.97M | return this->get_value(); | 1629 | 5.97M | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 634 | { | 1627 | 634 | SCN_EXPECT(has_value()); | 1628 | 634 | return this->get_value(); | 1629 | 634 | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 539 | { | 1627 | 539 | SCN_EXPECT(has_value()); | 1628 | 539 | return this->get_value(); | 1629 | 539 | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 750 | { | 1627 | 750 | SCN_EXPECT(has_value()); | 1628 | 750 | return this->get_value(); | 1629 | 750 | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 603 | { | 1627 | 603 | SCN_EXPECT(has_value()); | 1628 | 603 | return this->get_value(); | 1629 | 603 | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 903 | { | 1627 | 903 | SCN_EXPECT(has_value()); | 1628 | 903 | return this->get_value(); | 1629 | 903 | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 733 | { | 1627 | 733 | SCN_EXPECT(has_value()); | 1628 | 733 | return this->get_value(); | 1629 | 733 | } |
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v Line | Count | Source | 1626 | 3.30M | { | 1627 | 3.30M | SCN_EXPECT(has_value()); | 1628 | 3.30M | return this->get_value(); | 1629 | 3.30M | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 634 | { | 1627 | 634 | SCN_EXPECT(has_value()); | 1628 | 634 | return this->get_value(); | 1629 | 634 | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 539 | { | 1627 | 539 | SCN_EXPECT(has_value()); | 1628 | 539 | return this->get_value(); | 1629 | 539 | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 750 | { | 1627 | 750 | SCN_EXPECT(has_value()); | 1628 | 750 | return this->get_value(); | 1629 | 750 | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 603 | { | 1627 | 603 | SCN_EXPECT(has_value()); | 1628 | 603 | return this->get_value(); | 1629 | 603 | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 903 | { | 1627 | 903 | SCN_EXPECT(has_value()); | 1628 | 903 | return this->get_value(); | 1629 | 903 | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 733 | { | 1627 | 733 | SCN_EXPECT(has_value()); | 1628 | 733 | return this->get_value(); | 1629 | 733 | } |
_ZNR3scn2v38expectedINSt3__115regex_constants18syntax_option_typeENS0_10scan_errorEE5valueIS4_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v Line | Count | Source | 1626 | 44.6k | { | 1627 | 44.6k | SCN_EXPECT(has_value()); | 1628 | 44.6k | return this->get_value(); | 1629 | 44.6k | } |
Unexecuted instantiation: _ZNR3scn2v38expectedIwNS0_10scan_errorEE5valueIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v _ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Line | Count | Source | 1626 | 12.4M | { | 1627 | 12.4M | SCN_EXPECT(has_value()); | 1628 | 12.4M | return this->get_value(); | 1629 | 12.4M | } |
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Line | Count | Source | 1626 | 6.50M | { | 1627 | 6.50M | SCN_EXPECT(has_value()); | 1628 | 6.50M | return this->get_value(); | 1629 | 6.50M | } |
_ZNR3scn2v38expectedIPKcNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v Line | Count | Source | 1626 | 20.7M | { | 1627 | 20.7M | SCN_EXPECT(has_value()); | 1628 | 20.7M | return this->get_value(); | 1629 | 20.7M | } |
_ZNR3scn2v38expectedIPKwNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v Line | Count | Source | 1626 | 16.3M | { | 1627 | 16.3M | SCN_EXPECT(has_value()); | 1628 | 16.3M | return this->get_value(); | 1629 | 16.3M | } |
_ZNR3scn2v38expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v Line | Count | Source | 1626 | 5.23M | { | 1627 | 5.23M | SCN_EXPECT(has_value()); | 1628 | 5.23M | return this->get_value(); | 1629 | 5.23M | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v _ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1626 | 6.03M | { | 1627 | 6.03M | SCN_EXPECT(has_value()); | 1628 | 6.03M | return this->get_value(); | 1629 | 6.03M | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEE5valueISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v _ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Line | Count | Source | 1626 | 14.2M | { | 1627 | 14.2M | SCN_EXPECT(has_value()); | 1628 | 14.2M | return this->get_value(); | 1629 | 14.2M | } |
_ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Line | Count | Source | 1626 | 4.16M | { | 1627 | 4.16M | SCN_EXPECT(has_value()); | 1628 | 4.16M | return this->get_value(); | 1629 | 4.16M | } |
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v Line | Count | Source | 1626 | 2.18M | { | 1627 | 2.18M | SCN_EXPECT(has_value()); | 1628 | 2.18M | return this->get_value(); | 1629 | 2.18M | } |
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v Line | Count | Source | 1626 | 2.18M | { | 1627 | 2.18M | SCN_EXPECT(has_value()); | 1628 | 2.18M | return this->get_value(); | 1629 | 2.18M | } |
_ZNR3scn2v38expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v Line | Count | Source | 1626 | 312k | { | 1627 | 312k | SCN_EXPECT(has_value()); | 1628 | 312k | return this->get_value(); | 1629 | 312k | } |
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v Line | Count | Source | 1626 | 14.6M | { | 1627 | 14.6M | SCN_EXPECT(has_value()); | 1628 | 14.6M | return this->get_value(); | 1629 | 14.6M | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1626 | 5.16k | { | 1627 | 5.16k | SCN_EXPECT(has_value()); | 1628 | 5.16k | return this->get_value(); | 1629 | 5.16k | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Line | Count | Source | 1626 | 5.37k | { | 1627 | 5.37k | SCN_EXPECT(has_value()); | 1628 | 5.37k | return this->get_value(); | 1629 | 5.37k | } |
_ZNR3scn2v38expectedINSt3__14pairIPKclEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v Line | Count | Source | 1626 | 5.80M | { | 1627 | 5.80M | SCN_EXPECT(has_value()); | 1628 | 5.80M | return this->get_value(); | 1629 | 5.80M | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1626 | 1.60k | { | 1627 | 1.60k | SCN_EXPECT(has_value()); | 1628 | 1.60k | return this->get_value(); | 1629 | 1.60k | } |
_ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 1.18k | { | 1627 | 1.18k | SCN_EXPECT(has_value()); | 1628 | 1.18k | return this->get_value(); | 1629 | 1.18k | } |
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Line | Count | Source | 1626 | 888 | { | 1627 | 888 | SCN_EXPECT(has_value()); | 1628 | 888 | return this->get_value(); | 1629 | 888 | } |
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Line | Count | Source | 1626 | 888 | { | 1627 | 888 | SCN_EXPECT(has_value()); | 1628 | 888 | return this->get_value(); | 1629 | 888 | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEE5valueISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1626 | 3.04k | { | 1627 | 3.04k | SCN_EXPECT(has_value()); | 1628 | 3.04k | return this->get_value(); | 1629 | 3.04k | } |
_ZNR3scn2v38expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v Line | Count | Source | 1626 | 2.38M | { | 1627 | 2.38M | SCN_EXPECT(has_value()); | 1628 | 2.38M | return this->get_value(); | 1629 | 2.38M | } |
_ZNR3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1626 | 3.77M | { | 1627 | 3.77M | SCN_EXPECT(has_value()); | 1628 | 3.77M | return this->get_value(); | 1629 | 3.77M | } |
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Line | Count | Source | 1626 | 2.17M | { | 1627 | 2.17M | SCN_EXPECT(has_value()); | 1628 | 2.17M | return this->get_value(); | 1629 | 2.17M | } |
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Line | Count | Source | 1626 | 2.17M | { | 1627 | 2.17M | SCN_EXPECT(has_value()); | 1628 | 2.17M | return this->get_value(); | 1629 | 2.17M | } |
_ZNR3scn2v38expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEE5valueISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v Line | Count | Source | 1626 | 311k | { | 1627 | 311k | SCN_EXPECT(has_value()); | 1628 | 311k | return this->get_value(); | 1629 | 311k | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v _ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Line | Count | Source | 1626 | 1.81M | { | 1627 | 1.81M | SCN_EXPECT(has_value()); | 1628 | 1.81M | return this->get_value(); | 1629 | 1.81M | } |
_ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 292 | { | 1627 | 292 | SCN_EXPECT(has_value()); | 1628 | 292 | return this->get_value(); | 1629 | 292 | } |
_ZNR3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1626 | 1.55M | { | 1627 | 1.55M | SCN_EXPECT(has_value()); | 1628 | 1.55M | return this->get_value(); | 1629 | 1.55M | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v _ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1626 | 3.54M | { | 1627 | 3.54M | SCN_EXPECT(has_value()); | 1628 | 3.54M | return this->get_value(); | 1629 | 3.54M | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEE5valueISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSS_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v _ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Line | Count | Source | 1626 | 3.86M | { | 1627 | 3.86M | SCN_EXPECT(has_value()); | 1628 | 3.86M | return this->get_value(); | 1629 | 3.86M | } |
_ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Line | Count | Source | 1626 | 1.27M | { | 1627 | 1.27M | SCN_EXPECT(has_value()); | 1628 | 1.27M | return this->get_value(); | 1629 | 1.27M | } |
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v Line | Count | Source | 1626 | 377k | { | 1627 | 377k | SCN_EXPECT(has_value()); | 1628 | 377k | return this->get_value(); | 1629 | 377k | } |
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v Line | Count | Source | 1626 | 377k | { | 1627 | 377k | SCN_EXPECT(has_value()); | 1628 | 377k | return this->get_value(); | 1629 | 377k | } |
_ZNR3scn2v38expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEE5valueISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v Line | Count | Source | 1626 | 760 | { | 1627 | 760 | SCN_EXPECT(has_value()); | 1628 | 760 | return this->get_value(); | 1629 | 760 | } |
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v Line | Count | Source | 1626 | 9.39M | { | 1627 | 9.39M | SCN_EXPECT(has_value()); | 1628 | 9.39M | return this->get_value(); | 1629 | 9.39M | } |
_ZNR3scn2v38expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v Line | Count | Source | 1626 | 9.19M | { | 1627 | 9.19M | SCN_EXPECT(has_value()); | 1628 | 9.19M | return this->get_value(); | 1629 | 9.19M | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1626 | 1.47k | { | 1627 | 1.47k | SCN_EXPECT(has_value()); | 1628 | 1.47k | return this->get_value(); | 1629 | 1.47k | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Line | Count | Source | 1626 | 2.06k | { | 1627 | 2.06k | SCN_EXPECT(has_value()); | 1628 | 2.06k | return this->get_value(); | 1629 | 2.06k | } |
_ZNR3scn2v38expectedINSt3__14pairIPKwlEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v Line | Count | Source | 1626 | 5.71M | { | 1627 | 5.71M | SCN_EXPECT(has_value()); | 1628 | 5.71M | return this->get_value(); | 1629 | 5.71M | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1626 | 1.01k | { | 1627 | 1.01k | SCN_EXPECT(has_value()); | 1628 | 1.01k | return this->get_value(); | 1629 | 1.01k | } |
_ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 750 | { | 1627 | 750 | SCN_EXPECT(has_value()); | 1628 | 750 | return this->get_value(); | 1629 | 750 | } |
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Line | Count | Source | 1626 | 570 | { | 1627 | 570 | SCN_EXPECT(has_value()); | 1628 | 570 | return this->get_value(); | 1629 | 570 | } |
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Line | Count | Source | 1626 | 570 | { | 1627 | 570 | SCN_EXPECT(has_value()); | 1628 | 570 | return this->get_value(); | 1629 | 570 | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEE5valueISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSO_v _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1626 | 1.38k | { | 1627 | 1.38k | SCN_EXPECT(has_value()); | 1628 | 1.38k | return this->get_value(); | 1629 | 1.38k | } |
_ZNR3scn2v38expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v Line | Count | Source | 1626 | 2.96M | { | 1627 | 2.96M | SCN_EXPECT(has_value()); | 1628 | 2.96M | return this->get_value(); | 1629 | 2.96M | } |
_ZNR3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1626 | 1.26M | { | 1627 | 1.26M | SCN_EXPECT(has_value()); | 1628 | 1.26M | return this->get_value(); | 1629 | 1.26M | } |
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Line | Count | Source | 1626 | 380k | { | 1627 | 380k | SCN_EXPECT(has_value()); | 1628 | 380k | return this->get_value(); | 1629 | 380k | } |
_ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Line | Count | Source | 1626 | 380k | { | 1627 | 380k | SCN_EXPECT(has_value()); | 1628 | 380k | return this->get_value(); | 1629 | 380k | } |
_ZNR3scn2v38expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v Line | Count | Source | 1626 | 760 | { | 1627 | 760 | SCN_EXPECT(has_value()); | 1628 | 760 | return this->get_value(); | 1629 | 760 | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v _ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Line | Count | Source | 1626 | 877k | { | 1627 | 877k | SCN_EXPECT(has_value()); | 1628 | 877k | return this->get_value(); | 1629 | 877k | } |
_ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 180 | { | 1627 | 180 | SCN_EXPECT(has_value()); | 1628 | 180 | return this->get_value(); | 1629 | 180 | } |
_ZNR3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1626 | 879k | { | 1627 | 879k | SCN_EXPECT(has_value()); | 1628 | 879k | return this->get_value(); | 1629 | 879k | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v Line | Count | Source | 1626 | 2.17k | { | 1627 | 2.17k | SCN_EXPECT(has_value()); | 1628 | 2.17k | return this->get_value(); | 1629 | 2.17k | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v Line | Count | Source | 1626 | 1.96k | { | 1627 | 1.96k | SCN_EXPECT(has_value()); | 1628 | 1.96k | return this->get_value(); | 1629 | 1.96k | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v Line | Count | Source | 1626 | 1.27k | { | 1627 | 1.27k | SCN_EXPECT(has_value()); | 1628 | 1.27k | return this->get_value(); | 1629 | 1.27k | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v Line | Count | Source | 1626 | 1.27k | { | 1627 | 1.27k | SCN_EXPECT(has_value()); | 1628 | 1.27k | return this->get_value(); | 1629 | 1.27k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJfEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 467k | { | 1627 | 467k | SCN_EXPECT(has_value()); | 1628 | 467k | return this->get_value(); | 1629 | 467k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 485k | { | 1627 | 485k | SCN_EXPECT(has_value()); | 1628 | 485k | return this->get_value(); | 1629 | 485k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJeEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 492k | { | 1627 | 492k | SCN_EXPECT(has_value()); | 1628 | 492k | return this->get_value(); | 1629 | 492k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJfEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 547k | { | 1627 | 547k | SCN_EXPECT(has_value()); | 1628 | 547k | return this->get_value(); | 1629 | 547k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJdEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 576k | { | 1627 | 576k | SCN_EXPECT(has_value()); | 1628 | 576k | return this->get_value(); | 1629 | 576k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJeEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 583k | { | 1627 | 583k | SCN_EXPECT(has_value()); | 1628 | 583k | return this->get_value(); | 1629 | 583k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJfEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 183k | { | 1627 | 183k | SCN_EXPECT(has_value()); | 1628 | 183k | return this->get_value(); | 1629 | 183k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 218k | { | 1627 | 218k | SCN_EXPECT(has_value()); | 1628 | 218k | return this->get_value(); | 1629 | 218k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJeEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Line | Count | Source | 1626 | 224k | { | 1627 | 224k | SCN_EXPECT(has_value()); | 1628 | 224k | return this->get_value(); | 1629 | 224k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJfEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 183k | { | 1627 | 183k | SCN_EXPECT(has_value()); | 1628 | 183k | return this->get_value(); | 1629 | 183k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJdEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 218k | { | 1627 | 218k | SCN_EXPECT(has_value()); | 1628 | 218k | return this->get_value(); | 1629 | 218k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJeEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v Line | Count | Source | 1626 | 224k | { | 1627 | 224k | SCN_EXPECT(has_value()); | 1628 | 224k | return this->get_value(); | 1629 | 224k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v Line | Count | Source | 1626 | 256k | { | 1627 | 256k | SCN_EXPECT(has_value()); | 1628 | 256k | return this->get_value(); | 1629 | 256k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEENS0_10scan_errorEE5valueISF_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v Line | Count | Source | 1626 | 256k | { | 1627 | 256k | SCN_EXPECT(has_value()); | 1628 | 256k | return this->get_value(); | 1629 | 256k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJNS7_12basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISM_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSR_v Line | Count | Source | 1626 | 313k | { | 1627 | 313k | SCN_EXPECT(has_value()); | 1628 | 313k | return this->get_value(); | 1629 | 313k | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v Line | Count | Source | 1626 | 2.67M | { | 1627 | 2.67M | SCN_EXPECT(has_value()); | 1628 | 2.67M | return this->get_value(); | 1629 | 2.67M | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEENS0_10scan_errorEE5valueISF_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v Line | Count | Source | 1626 | 2.67M | { | 1627 | 2.67M | SCN_EXPECT(has_value()); | 1628 | 2.67M | return this->get_value(); | 1629 | 2.67M | } |
_ZNR3scn2v38expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJNS7_12basic_stringIwNS7_11char_traitsIwEENS7_9allocatorIwEEEEEEENS0_10scan_errorEE5valueISM_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSR_v Line | Count | Source | 1626 | 2.67M | { | 1627 | 2.67M | SCN_EXPECT(has_value()); | 1628 | 2.67M | return this->get_value(); | 1629 | 2.67M | } |
|
1630 | | template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr> |
1631 | | constexpr const U& value() const& noexcept |
1632 | 0 | { |
1633 | 0 | SCN_EXPECT(has_value()); |
1634 | 0 | return this->get_value(); |
1635 | 0 | } Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v Unexecuted instantiation: _ZNKR3scn2v38expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v Unexecuted instantiation: _ZNKR3scn2v38expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v Unexecuted instantiation: _ZNKR3scn2v38expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v Unexecuted instantiation: _ZNKR3scn2v38expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v |
1636 | | template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr> |
1637 | | constexpr U&& value() && noexcept |
1638 | | { |
1639 | | SCN_EXPECT(has_value()); |
1640 | | return std::move(this->get_value()); |
1641 | | } |
1642 | | template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr> |
1643 | | constexpr const U&& value() const&& noexcept |
1644 | | { |
1645 | | SCN_EXPECT(has_value()); |
1646 | | return std::move(this->get_value()); |
1647 | | } |
1648 | | |
1649 | | /// Get the expected value, if one is contained in *this |
1650 | | template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr> |
1651 | | constexpr U& operator*() & noexcept |
1652 | 61.8M | { |
1653 | 61.8M | return value(); |
1654 | 61.8M | } _ZNR3scn2v38expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v Line | Count | Source | 1652 | 24.6M | { | 1653 | 24.6M | return value(); | 1654 | 24.6M | } |
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v Line | Count | Source | 1652 | 3.57M | { | 1653 | 3.57M | return value(); | 1654 | 3.57M | } |
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v Line | Count | Source | 1652 | 3.66M | { | 1653 | 3.66M | return value(); | 1654 | 3.66M | } |
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v Line | Count | Source | 1652 | 4.84M | { | 1653 | 4.84M | return value(); | 1654 | 4.84M | } |
_ZNR3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v Line | Count | Source | 1652 | 2.70M | { | 1653 | 2.70M | return value(); | 1654 | 2.70M | } |
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Line | Count | Source | 1652 | 1.40M | { | 1653 | 1.40M | return value(); | 1654 | 1.40M | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v _ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Line | Count | Source | 1652 | 5.90M | { | 1653 | 5.90M | return value(); | 1654 | 5.90M | } |
_ZNR3scn2v38expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v Line | Count | Source | 1652 | 963k | { | 1653 | 963k | return value(); | 1654 | 963k | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1652 | 2.74k | { | 1653 | 2.74k | return value(); | 1654 | 2.74k | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v _ZNR3scn2v38expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v Line | Count | Source | 1652 | 2.38M | { | 1653 | 2.38M | return value(); | 1654 | 2.38M | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v _ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v Line | Count | Source | 1652 | 2.98M | { | 1653 | 2.98M | return value(); | 1654 | 2.98M | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1652 | 732 | { | 1653 | 732 | return value(); | 1654 | 732 | } |
_ZNR3scn2v38expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v Line | Count | Source | 1652 | 2.85M | { | 1653 | 2.85M | return value(); | 1654 | 2.85M | } |
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Line | Count | Source | 1652 | 34.1k | { | 1653 | 34.1k | return value(); | 1654 | 34.1k | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v _ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Line | Count | Source | 1652 | 1.32M | { | 1653 | 1.32M | return value(); | 1654 | 1.32M | } |
_ZNR3scn2v38expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v Line | Count | Source | 1652 | 16.0k | { | 1653 | 16.0k | return value(); | 1654 | 16.0k | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v _ZNR3scn2v38expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v Line | Count | Source | 1652 | 429k | { | 1653 | 429k | return value(); | 1654 | 429k | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v _ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v Line | Count | Source | 1652 | 1.52M | { | 1653 | 1.52M | return value(); | 1654 | 1.52M | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Line | Count | Source | 1652 | 252 | { | 1653 | 252 | return value(); | 1654 | 252 | } |
_ZNR3scn2v38expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v Line | Count | Source | 1652 | 2.59M | { | 1653 | 2.59M | return value(); | 1654 | 2.59M | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v Line | Count | Source | 1652 | 210 | { | 1653 | 210 | return value(); | 1654 | 210 | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v Unexecuted instantiation: _ZNR3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v |
1655 | | template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr> |
1656 | | constexpr const U& operator*() const& noexcept |
1657 | 0 | { |
1658 | 0 | return value(); |
1659 | 0 | } Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v Unexecuted instantiation: _ZNKR3scn2v38expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v Unexecuted instantiation: _ZNKR3scn2v38expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v Unexecuted instantiation: _ZNKR3scn2v38expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v Unexecuted instantiation: _ZNKR3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v Unexecuted instantiation: _ZNKR3scn2v38expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v Unexecuted instantiation: _ZNKR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v |
1660 | | template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr> |
1661 | | constexpr U&& operator*() && noexcept |
1662 | 154M | { |
1663 | 154M | return std::move(value()); |
1664 | 154M | } _ZNO3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v Line | Count | Source | 1662 | 397k | { | 1663 | 397k | return std::move(value()); | 1664 | 397k | } |
_ZNO3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v Line | Count | Source | 1662 | 372k | { | 1663 | 372k | return std::move(value()); | 1664 | 372k | } |
_ZNO3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v Line | Count | Source | 1662 | 1.12M | { | 1663 | 1.12M | return std::move(value()); | 1664 | 1.12M | } |
_ZNO3scn2v38expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v Line | Count | Source | 1662 | 593k | { | 1663 | 593k | return std::move(value()); | 1664 | 593k | } |
_ZNO3scn2v38expectedINSt3__115regex_constants18syntax_option_typeENS0_10scan_errorEEdeIS4_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v Line | Count | Source | 1662 | 44.6k | { | 1663 | 44.6k | return std::move(value()); | 1664 | 44.6k | } |
Unexecuted instantiation: _ZNO3scn2v38expectedIwNS0_10scan_errorEEdeIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v _ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v Line | Count | Source | 1662 | 11.0M | { | 1663 | 11.0M | return std::move(value()); | 1664 | 11.0M | } |
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v Line | Count | Source | 1662 | 6.47M | { | 1663 | 6.47M | return std::move(value()); | 1664 | 6.47M | } |
_ZNO3scn2v38expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v Line | Count | Source | 1662 | 17.8M | { | 1663 | 17.8M | return std::move(value()); | 1664 | 17.8M | } |
_ZNO3scn2v38expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v Line | Count | Source | 1662 | 13.7M | { | 1663 | 13.7M | return std::move(value()); | 1664 | 13.7M | } |
_ZNO3scn2v38expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v Line | Count | Source | 1662 | 4.26M | { | 1663 | 4.26M | return std::move(value()); | 1664 | 4.26M | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v _ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v Line | Count | Source | 1662 | 6.03M | { | 1663 | 6.03M | return std::move(value()); | 1664 | 6.03M | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEdeISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSP_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v _ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v Line | Count | Source | 1662 | 3.99M | { | 1663 | 3.99M | return std::move(value()); | 1664 | 3.99M | } |
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v Line | Count | Source | 1662 | 8.32M | { | 1663 | 8.32M | return std::move(value()); | 1664 | 8.32M | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v Line | Count | Source | 1662 | 2.18M | { | 1663 | 2.18M | return std::move(value()); | 1664 | 2.18M | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v Line | Count | Source | 1662 | 2.18M | { | 1663 | 2.18M | return std::move(value()); | 1664 | 2.18M | } |
_ZNO3scn2v38expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v Line | Count | Source | 1662 | 312k | { | 1663 | 312k | return std::move(value()); | 1664 | 312k | } |
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v Line | Count | Source | 1662 | 11.6M | { | 1663 | 11.6M | return std::move(value()); | 1664 | 11.6M | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v Line | Count | Source | 1662 | 2.42k | { | 1663 | 2.42k | return std::move(value()); | 1664 | 2.42k | } |
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v Line | Count | Source | 1662 | 5.37k | { | 1663 | 5.37k | return std::move(value()); | 1664 | 5.37k | } |
_ZNO3scn2v38expectedINSt3__14pairIPKclEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v Line | Count | Source | 1662 | 5.80M | { | 1663 | 5.80M | return std::move(value()); | 1664 | 5.80M | } |
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v Line | Count | Source | 1662 | 1.18k | { | 1663 | 1.18k | return std::move(value()); | 1664 | 1.18k | } |
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v Line | Count | Source | 1662 | 1.60k | { | 1663 | 1.60k | return std::move(value()); | 1664 | 1.60k | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v Line | Count | Source | 1662 | 888 | { | 1663 | 888 | return std::move(value()); | 1664 | 888 | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v Line | Count | Source | 1662 | 888 | { | 1663 | 888 | return std::move(value()); | 1664 | 888 | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEdeISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSL_v _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v Line | Count | Source | 1662 | 2.31k | { | 1663 | 2.31k | return std::move(value()); | 1664 | 2.31k | } |
_ZNO3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v Line | Count | Source | 1662 | 3.73M | { | 1663 | 3.73M | return std::move(value()); | 1664 | 3.73M | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v Line | Count | Source | 1662 | 2.17M | { | 1663 | 2.17M | return std::move(value()); | 1664 | 2.17M | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v Line | Count | Source | 1662 | 2.17M | { | 1663 | 2.17M | return std::move(value()); | 1664 | 2.17M | } |
_ZNO3scn2v38expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEdeISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v Line | Count | Source | 1662 | 311k | { | 1663 | 311k | return std::move(value()); | 1664 | 311k | } |
_ZNO3scn2v38expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v Line | Count | Source | 1662 | 8.81M | { | 1663 | 8.81M | return std::move(value()); | 1664 | 8.81M | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v _ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v Line | Count | Source | 1662 | 1.81M | { | 1663 | 1.81M | return std::move(value()); | 1664 | 1.81M | } |
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v Line | Count | Source | 1662 | 292 | { | 1663 | 292 | return std::move(value()); | 1664 | 292 | } |
_ZNO3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v Line | Count | Source | 1662 | 1.55M | { | 1663 | 1.55M | return std::move(value()); | 1664 | 1.55M | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v _ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v Line | Count | Source | 1662 | 3.54M | { | 1663 | 3.54M | return std::move(value()); | 1664 | 3.54M | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEdeISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSS_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v _ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v Line | Count | Source | 1662 | 1.25M | { | 1663 | 1.25M | return std::move(value()); | 1664 | 1.25M | } |
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v Line | Count | Source | 1662 | 2.53M | { | 1663 | 2.53M | return std::move(value()); | 1664 | 2.53M | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v Line | Count | Source | 1662 | 377k | { | 1663 | 377k | return std::move(value()); | 1664 | 377k | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v Line | Count | Source | 1662 | 377k | { | 1663 | 377k | return std::move(value()); | 1664 | 377k | } |
_ZNO3scn2v38expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEdeISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v Line | Count | Source | 1662 | 760 | { | 1663 | 760 | return std::move(value()); | 1664 | 760 | } |
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v Line | Count | Source | 1662 | 7.87M | { | 1663 | 7.87M | return std::move(value()); | 1664 | 7.87M | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v Line | Count | Source | 1662 | 1.47k | { | 1663 | 1.47k | return std::move(value()); | 1664 | 1.47k | } |
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v Line | Count | Source | 1662 | 2.06k | { | 1663 | 2.06k | return std::move(value()); | 1664 | 2.06k | } |
_ZNO3scn2v38expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v Line | Count | Source | 1662 | 9.18M | { | 1663 | 9.18M | return std::move(value()); | 1664 | 9.18M | } |
_ZNO3scn2v38expectedINSt3__14pairIPKwlEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v Line | Count | Source | 1662 | 5.71M | { | 1663 | 5.71M | return std::move(value()); | 1664 | 5.71M | } |
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v Line | Count | Source | 1662 | 750 | { | 1663 | 750 | return std::move(value()); | 1664 | 750 | } |
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v Line | Count | Source | 1662 | 1.01k | { | 1663 | 1.01k | return std::move(value()); | 1664 | 1.01k | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v Line | Count | Source | 1662 | 570 | { | 1663 | 570 | return std::move(value()); | 1664 | 570 | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v Line | Count | Source | 1662 | 570 | { | 1663 | 570 | return std::move(value()); | 1664 | 570 | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEdeISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSO_v _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v Line | Count | Source | 1662 | 1.13k | { | 1663 | 1.13k | return std::move(value()); | 1664 | 1.13k | } |
_ZNO3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v Line | Count | Source | 1662 | 1.25M | { | 1663 | 1.25M | return std::move(value()); | 1664 | 1.25M | } |
_ZNO3scn2v38expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v Line | Count | Source | 1662 | 2.53M | { | 1663 | 2.53M | return std::move(value()); | 1664 | 2.53M | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v Line | Count | Source | 1662 | 380k | { | 1663 | 380k | return std::move(value()); | 1664 | 380k | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v Line | Count | Source | 1662 | 380k | { | 1663 | 380k | return std::move(value()); | 1664 | 380k | } |
_ZNO3scn2v38expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v Line | Count | Source | 1662 | 760 | { | 1663 | 760 | return std::move(value()); | 1664 | 760 | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v _ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v Line | Count | Source | 1662 | 877k | { | 1663 | 877k | return std::move(value()); | 1664 | 877k | } |
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v Line | Count | Source | 1662 | 180 | { | 1663 | 180 | return std::move(value()); | 1664 | 180 | } |
_ZNO3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v Line | Count | Source | 1662 | 879k | { | 1663 | 879k | return std::move(value()); | 1664 | 879k | } |
_ZNO3scn2v38expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v Line | Count | Source | 1662 | 1.99k | { | 1663 | 1.99k | return std::move(value()); | 1664 | 1.99k | } |
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v Line | Count | Source | 1662 | 1.96k | { | 1663 | 1.96k | return std::move(value()); | 1664 | 1.96k | } |
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v Line | Count | Source | 1662 | 1.96k | { | 1663 | 1.96k | return std::move(value()); | 1664 | 1.96k | } |
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v Line | Count | Source | 1662 | 1.27k | { | 1663 | 1.27k | return std::move(value()); | 1664 | 1.27k | } |
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v Line | Count | Source | 1662 | 1.27k | { | 1663 | 1.27k | return std::move(value()); | 1664 | 1.27k | } |
|
1665 | | template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr> |
1666 | | constexpr const U&& operator*() const&& noexcept |
1667 | | { |
1668 | | return std::move(value()); |
1669 | | } |
1670 | | |
1671 | | constexpr value_type* operator->() noexcept |
1672 | 17.5M | { |
1673 | 17.5M | return &value(); |
1674 | 17.5M | } scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 297k | { | 1673 | 297k | return &value(); | 1674 | 297k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 283k | { | 1673 | 283k | return &value(); | 1674 | 283k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 384k | { | 1673 | 384k | return &value(); | 1674 | 384k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 325k | { | 1673 | 325k | return &value(); | 1674 | 325k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 392k | { | 1673 | 392k | return &value(); | 1674 | 392k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 329k | { | 1673 | 329k | return &value(); | 1674 | 329k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 298k | { | 1673 | 298k | return &value(); | 1674 | 298k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 284k | { | 1673 | 284k | return &value(); | 1674 | 284k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 384k | { | 1673 | 384k | return &value(); | 1674 | 384k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 327k | { | 1673 | 327k | return &value(); | 1674 | 327k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 392k | { | 1673 | 392k | return &value(); | 1674 | 392k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 331k | { | 1673 | 331k | return &value(); | 1674 | 331k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 634 | { | 1673 | 634 | return &value(); | 1674 | 634 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 539 | { | 1673 | 539 | return &value(); | 1674 | 539 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 750 | { | 1673 | 750 | return &value(); | 1674 | 750 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 603 | { | 1673 | 603 | return &value(); | 1674 | 603 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 903 | { | 1673 | 903 | return &value(); | 1674 | 903 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 733 | { | 1673 | 733 | return &value(); | 1674 | 733 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 634 | { | 1673 | 634 | return &value(); | 1674 | 634 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 539 | { | 1673 | 539 | return &value(); | 1674 | 539 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 750 | { | 1673 | 750 | return &value(); | 1674 | 750 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 603 | { | 1673 | 603 | return &value(); | 1674 | 603 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 903 | { | 1673 | 903 | return &value(); | 1674 | 903 | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 733 | { | 1673 | 733 | return &value(); | 1674 | 733 | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->() scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->() Line | Count | Source | 1672 | 170k | { | 1673 | 170k | return &value(); | 1674 | 170k | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->() scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->() Line | Count | Source | 1672 | 38.3k | { | 1673 | 38.3k | return &value(); | 1674 | 38.3k | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->() scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->() Line | Count | Source | 1672 | 18.8k | { | 1673 | 18.8k | return &value(); | 1674 | 18.8k | } |
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->() scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->() Line | Count | Source | 1672 | 6.44k | { | 1673 | 6.44k | return &value(); | 1674 | 6.44k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 467k | { | 1673 | 467k | return &value(); | 1674 | 467k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 485k | { | 1673 | 485k | return &value(); | 1674 | 485k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 492k | { | 1673 | 492k | return &value(); | 1674 | 492k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 547k | { | 1673 | 547k | return &value(); | 1674 | 547k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 576k | { | 1673 | 576k | return &value(); | 1674 | 576k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 583k | { | 1673 | 583k | return &value(); | 1674 | 583k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 183k | { | 1673 | 183k | return &value(); | 1674 | 183k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 218k | { | 1673 | 218k | return &value(); | 1674 | 218k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 224k | { | 1673 | 224k | return &value(); | 1674 | 224k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 183k | { | 1673 | 183k | return &value(); | 1674 | 183k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 218k | { | 1673 | 218k | return &value(); | 1674 | 218k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 224k | { | 1673 | 224k | return &value(); | 1674 | 224k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 256k | { | 1673 | 256k | return &value(); | 1674 | 256k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 256k | { | 1673 | 256k | return &value(); | 1674 | 256k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 313k | { | 1673 | 313k | return &value(); | 1674 | 313k | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 2.67M | { | 1673 | 2.67M | return &value(); | 1674 | 2.67M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 2.67M | { | 1673 | 2.67M | return &value(); | 1674 | 2.67M | } |
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator->() Line | Count | Source | 1672 | 2.67M | { | 1673 | 2.67M | return &value(); | 1674 | 2.67M | } |
|
1675 | | constexpr const value_type* operator->() const noexcept |
1676 | | { |
1677 | | return &value(); |
1678 | | } |
1679 | | |
1680 | | /// Returns the expected value if *this contains one, otherwise |
1681 | | /// returns default_value |
1682 | | template <typename U, |
1683 | | typename = std::enable_if_t<std::is_copy_constructible_v<T> && |
1684 | | std::is_convertible_v<U, T>>> |
1685 | | constexpr T value_or(U&& default_value) const& noexcept( |
1686 | | std::is_nothrow_copy_constructible_v<T> && |
1687 | | std::is_nothrow_constructible_v<T, U&&>) |
1688 | | { |
1689 | | if (has_value()) { |
1690 | | return value(); |
1691 | | } |
1692 | | return std::forward<U>(default_value); |
1693 | | } |
1694 | | template <typename U, |
1695 | | typename = std::enable_if_t<std::is_move_constructible_v<T> && |
1696 | | std::is_convertible_v<U, T>>> |
1697 | | constexpr T value_or(U&& default_value) && noexcept( |
1698 | | std::is_nothrow_move_constructible_v<T> && |
1699 | | std::is_nothrow_constructible_v<T, U&&>) |
1700 | | { |
1701 | | if (has_value()) { |
1702 | | return std::move(value()); |
1703 | | } |
1704 | | return std::forward<U>(default_value); |
1705 | | } |
1706 | | |
1707 | | template <typename G, |
1708 | | typename = std::enable_if_t<std::is_copy_constructible_v<E> && |
1709 | | std::is_convertible_v<G, E>>> |
1710 | | constexpr E error_or(G&& default_error) const& noexcept( |
1711 | | std::is_nothrow_copy_constructible_v<E> && |
1712 | | std::is_nothrow_constructible_v<E, G&&>) |
1713 | | { |
1714 | | if (!has_value()) { |
1715 | | return error(); |
1716 | | } |
1717 | | return std::forward<G>(default_error); |
1718 | | } |
1719 | | template <typename G, |
1720 | | typename = std::enable_if_t<std::is_move_constructible_v<E> && |
1721 | | std::is_convertible_v<G, E>>> |
1722 | | constexpr E error_or(G&& default_error) && noexcept( |
1723 | | std::is_nothrow_move_constructible_v<E> && |
1724 | | std::is_nothrow_constructible_v<E, G&&>) |
1725 | | { |
1726 | | if (!has_value()) { |
1727 | | return std::move(error()); |
1728 | | } |
1729 | | return std::forward<G>(default_error); |
1730 | | } |
1731 | | |
1732 | | template <typename F> |
1733 | | constexpr auto and_then(F&& f) & noexcept(noexcept( |
1734 | | detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f)))) |
1735 | | -> decltype(detail::and_then_impl(*this, std::forward<F>(f))) |
1736 | | { |
1737 | | return detail::and_then_impl(*this, std::forward<F>(f)); |
1738 | | } |
1739 | | template <typename F> |
1740 | | constexpr auto and_then(F&& f) const& noexcept( |
1741 | | noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&), |
1742 | | std::forward<F>(f)))) |
1743 | | -> decltype(detail::and_then_impl(*this, std::forward<F>(f))) |
1744 | | { |
1745 | | return detail::and_then_impl(*this, std::forward<F>(f)); |
1746 | | } |
1747 | | template <typename F> |
1748 | | constexpr auto and_then(F&& f) && noexcept(noexcept( |
1749 | | detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f)))) |
1750 | | -> decltype(detail::and_then_impl(*this, std::forward<F>(f))) |
1751 | | { |
1752 | | return detail::and_then_impl(std::move(*this), std::forward<F>(f)); |
1753 | | } |
1754 | | template <typename F> |
1755 | | constexpr auto and_then(F&& f) const&& noexcept( |
1756 | | noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&), |
1757 | | std::forward<F>(f)))) |
1758 | | -> decltype(detail::and_then_impl(*this, std::forward<F>(f))) |
1759 | | { |
1760 | | return detail::and_then_impl(std::move(*this), std::forward<F>(f)); |
1761 | | } |
1762 | | |
1763 | | template <typename F> |
1764 | | constexpr auto or_else(F&& f) & noexcept(noexcept( |
1765 | | detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f)))) |
1766 | | -> decltype(detail::or_else_impl(*this, std::forward<F>(f))) |
1767 | | { |
1768 | | return detail::or_else_impl(*this, std::forward<F>(f)); |
1769 | | } |
1770 | | template <typename F> |
1771 | | constexpr auto or_else(F&& f) const& noexcept(noexcept( |
1772 | | detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f)))) |
1773 | | -> decltype(detail::or_else_impl(*this, std::forward<F>(f))) |
1774 | | { |
1775 | | return detail::or_else_impl(*this, std::forward<F>(f)); |
1776 | | } |
1777 | | template <typename F> |
1778 | | constexpr auto or_else(F&& f) && noexcept(noexcept( |
1779 | | detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f)))) |
1780 | | -> decltype(detail::or_else_impl(*this, std::forward<F>(f))) |
1781 | | { |
1782 | | return detail::or_else_impl(std::move(*this), std::forward<F>(f)); |
1783 | | } |
1784 | | template <typename F> |
1785 | | constexpr auto or_else(F&& f) const&& noexcept( |
1786 | | noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&), |
1787 | | std::forward<F>(f)))) |
1788 | | -> decltype(detail::or_else_impl(*this, std::forward<F>(f))) |
1789 | | { |
1790 | | return detail::or_else_impl(std::move(*this), std::forward<F>(f)); |
1791 | | } |
1792 | | |
1793 | | template <typename F> |
1794 | | constexpr auto transform( |
1795 | | F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f))) |
1796 | | { |
1797 | | return detail::transform_impl(*this, std::forward<F>(f)); |
1798 | | } |
1799 | | template <typename F> |
1800 | | constexpr auto transform(F&& f) |
1801 | | const& -> decltype(detail::transform_impl(*this, std::forward<F>(f))) |
1802 | | { |
1803 | | return detail::transform_impl(*this, std::forward<F>(f)); |
1804 | | } |
1805 | | template <typename F> |
1806 | | constexpr auto transform( |
1807 | | F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f))) |
1808 | | { |
1809 | | return detail::transform_impl(std::move(*this), std::forward<F>(f)); |
1810 | | } |
1811 | | template <typename F> |
1812 | | constexpr auto transform(F&& f) |
1813 | | const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f))) |
1814 | | { |
1815 | | return detail::transform_impl(std::move(*this), std::forward<F>(f)); |
1816 | | } |
1817 | | |
1818 | | template <typename F> |
1819 | | constexpr auto transform_error( |
1820 | | F&& f) & -> decltype(detail::transform_error_impl(*this, |
1821 | | std::forward<F>(f))) |
1822 | 5.42M | { |
1823 | 5.42M | return detail::transform_error_impl(*this, std::forward<F>(f)); |
1824 | 5.42M | } Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_ _ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_ Line | Count | Source | 1822 | 1.80M | { | 1823 | 1.80M | return detail::transform_error_impl(*this, std::forward<F>(f)); | 1824 | 1.80M | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_ Line | Count | Source | 1822 | 584 | { | 1823 | 584 | return detail::transform_error_impl(*this, std::forward<F>(f)); | 1824 | 584 | } |
_ZNR3scn2v38expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_ Line | Count | Source | 1822 | 1.50M | { | 1823 | 1.50M | return detail::transform_error_impl(*this, std::forward<F>(f)); | 1824 | 1.50M | } |
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_ _ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_ Line | Count | Source | 1822 | 1.11M | { | 1823 | 1.11M | return detail::transform_error_impl(*this, std::forward<F>(f)); | 1824 | 1.11M | } |
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_ Line | Count | Source | 1822 | 360 | { | 1823 | 360 | return detail::transform_error_impl(*this, std::forward<F>(f)); | 1824 | 360 | } |
_ZNR3scn2v38expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_ Line | Count | Source | 1822 | 988k | { | 1823 | 988k | return detail::transform_error_impl(*this, std::forward<F>(f)); | 1824 | 988k | } |
|
1825 | | template <typename F> |
1826 | | constexpr auto transform_error(F&& f) |
1827 | | const& -> decltype(detail::transform_error_impl(*this, |
1828 | | std::forward<F>(f))) |
1829 | | { |
1830 | | return detail::transform_error_impl(*this, std::forward<F>(f)); |
1831 | | } |
1832 | | template <typename F> |
1833 | | constexpr auto transform_error( |
1834 | | F&& f) && -> decltype(detail::transform_error_impl(*this, |
1835 | | std::forward<F>(f))) |
1836 | 43.5M | { |
1837 | 43.5M | return detail::transform_error_impl(std::move(*this), |
1838 | 43.5M | std::forward<F>(f)); |
1839 | 43.5M | } _ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_ Line | Count | Source | 1836 | 4.36M | { | 1837 | 4.36M | return detail::transform_error_impl(std::move(*this), | 1838 | 4.36M | std::forward<F>(f)); | 1839 | 4.36M | } |
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_ Line | Count | Source | 1836 | 3.95M | { | 1837 | 3.95M | return detail::transform_error_impl(std::move(*this), | 1838 | 3.95M | std::forward<F>(f)); | 1839 | 3.95M | } |
_ZNO3scn2v38expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_ Line | Count | Source | 1836 | 4.31M | { | 1837 | 4.31M | return detail::transform_error_impl(std::move(*this), | 1838 | 4.31M | std::forward<F>(f)); | 1839 | 4.31M | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_ Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_ Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_ Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_ Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_ _ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_ Line | Count | Source | 1836 | 6.81M | { | 1837 | 6.81M | return detail::transform_error_impl(std::move(*this), | 1838 | 6.81M | std::forward<F>(f)); | 1839 | 6.81M | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_ Line | Count | Source | 1836 | 2.18M | { | 1837 | 2.18M | return detail::transform_error_impl(std::move(*this), | 1838 | 2.18M | std::forward<F>(f)); | 1839 | 2.18M | } |
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_ Line | Count | Source | 1836 | 1.66M | { | 1837 | 1.66M | return detail::transform_error_impl(std::move(*this), | 1838 | 1.66M | std::forward<F>(f)); | 1839 | 1.66M | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_ _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_ Line | Count | Source | 1836 | 812 | { | 1837 | 812 | return detail::transform_error_impl(std::move(*this), | 1838 | 812 | std::forward<F>(f)); | 1839 | 812 | } |
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_ Line | Count | Source | 1836 | 1.92k | { | 1837 | 1.92k | return detail::transform_error_impl(std::move(*this), | 1838 | 1.92k | std::forward<F>(f)); | 1839 | 1.92k | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_ Line | Count | Source | 1836 | 888 | { | 1837 | 888 | return detail::transform_error_impl(std::move(*this), | 1838 | 888 | std::forward<F>(f)); | 1839 | 888 | } |
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_ Line | Count | Source | 1836 | 868 | { | 1837 | 868 | return detail::transform_error_impl(std::move(*this), | 1838 | 868 | std::forward<F>(f)); | 1839 | 868 | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_ Line | Count | Source | 1836 | 2.17M | { | 1837 | 2.17M | return detail::transform_error_impl(std::move(*this), | 1838 | 2.17M | std::forward<F>(f)); | 1839 | 2.17M | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_ _ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_ Line | Count | Source | 1836 | 1.81M | { | 1837 | 1.81M | return detail::transform_error_impl(std::move(*this), | 1838 | 1.81M | std::forward<F>(f)); | 1839 | 1.81M | } |
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_ Line | Count | Source | 1836 | 292 | { | 1837 | 292 | return detail::transform_error_impl(std::move(*this), | 1838 | 292 | std::forward<F>(f)); | 1839 | 292 | } |
_ZNO3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_ Line | Count | Source | 1836 | 1.55M | { | 1837 | 1.55M | return detail::transform_error_impl(std::move(*this), | 1838 | 1.55M | std::forward<F>(f)); | 1839 | 1.55M | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_ Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_ Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_ Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_ Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_ _ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_ Line | Count | Source | 1836 | 2.62M | { | 1837 | 2.62M | return detail::transform_error_impl(std::move(*this), | 1838 | 2.62M | std::forward<F>(f)); | 1839 | 2.62M | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_ Line | Count | Source | 1836 | 377k | { | 1837 | 377k | return detail::transform_error_impl(std::move(*this), | 1838 | 377k | std::forward<F>(f)); | 1839 | 377k | } |
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_ Line | Count | Source | 1836 | 325k | { | 1837 | 325k | return detail::transform_error_impl(std::move(*this), | 1838 | 325k | std::forward<F>(f)); | 1839 | 325k | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_ _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_ Line | Count | Source | 1836 | 458 | { | 1837 | 458 | return detail::transform_error_impl(std::move(*this), | 1838 | 458 | std::forward<F>(f)); | 1839 | 458 | } |
_ZNO3scn2v38expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_ Line | Count | Source | 1836 | 6.65M | { | 1837 | 6.65M | return detail::transform_error_impl(std::move(*this), | 1838 | 6.65M | std::forward<F>(f)); | 1839 | 6.65M | } |
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_ Line | Count | Source | 1836 | 1.18k | { | 1837 | 1.18k | return detail::transform_error_impl(std::move(*this), | 1838 | 1.18k | std::forward<F>(f)); | 1839 | 1.18k | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_ Line | Count | Source | 1836 | 570 | { | 1837 | 570 | return detail::transform_error_impl(std::move(*this), | 1838 | 570 | std::forward<F>(f)); | 1839 | 570 | } |
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_ Line | Count | Source | 1836 | 530 | { | 1837 | 530 | return detail::transform_error_impl(std::move(*this), | 1838 | 530 | std::forward<F>(f)); | 1839 | 530 | } |
_ZNO3scn2v38expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_ Line | Count | Source | 1836 | 2.63M | { | 1837 | 2.63M | return detail::transform_error_impl(std::move(*this), | 1838 | 2.63M | std::forward<F>(f)); | 1839 | 2.63M | } |
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_ Line | Count | Source | 1836 | 380k | { | 1837 | 380k | return detail::transform_error_impl(std::move(*this), | 1838 | 380k | std::forward<F>(f)); | 1839 | 380k | } |
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_ _ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_ Line | Count | Source | 1836 | 877k | { | 1837 | 877k | return detail::transform_error_impl(std::move(*this), | 1838 | 877k | std::forward<F>(f)); | 1839 | 877k | } |
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_ Line | Count | Source | 1836 | 180 | { | 1837 | 180 | return detail::transform_error_impl(std::move(*this), | 1838 | 180 | std::forward<F>(f)); | 1839 | 180 | } |
_ZNO3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_ Line | Count | Source | 1836 | 879k | { | 1837 | 879k | return detail::transform_error_impl(std::move(*this), | 1838 | 879k | std::forward<F>(f)); | 1839 | 879k | } |
_ZNO3scn2v38expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_ Line | Count | Source | 1836 | 2.10k | { | 1837 | 2.10k | return detail::transform_error_impl(std::move(*this), | 1838 | 2.10k | std::forward<F>(f)); | 1839 | 2.10k | } |
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_ Line | Count | Source | 1836 | 2.13k | { | 1837 | 2.13k | return detail::transform_error_impl(std::move(*this), | 1838 | 2.13k | std::forward<F>(f)); | 1839 | 2.13k | } |
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_ Line | Count | Source | 1836 | 1.27k | { | 1837 | 1.27k | return detail::transform_error_impl(std::move(*this), | 1838 | 1.27k | std::forward<F>(f)); | 1839 | 1.27k | } |
|
1840 | | template <typename F> |
1841 | | constexpr auto transform_error(F&& f) |
1842 | | const&& -> decltype(detail::transform_error_impl(*this, |
1843 | | std::forward<F>(f))) |
1844 | | { |
1845 | | return detail::transform_error_impl(std::move(*this), |
1846 | | std::forward<F>(f)); |
1847 | | } |
1848 | | |
1849 | | private: |
1850 | | template <typename... Args> |
1851 | | void emplace_impl(Args&&... args) noexcept( |
1852 | | std::is_nothrow_constructible_v<T, Args&&...>) |
1853 | | { |
1854 | | if (this->has_value()) { |
1855 | | this->destroy_value(); |
1856 | | this->construct(std::forward<Args>(args)...); |
1857 | | } |
1858 | | else { |
1859 | | #if SCN_HAS_EXCEPTIONS |
1860 | | if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) { |
1861 | | auto tmp = std::move(error()); |
1862 | | this->destroy_unexpected(); |
1863 | | |
1864 | | try { |
1865 | | this->construct(std::forward<Args>(args)...); |
1866 | | } |
1867 | | catch (...) { |
1868 | | this->construct_unexpected(std::move(tmp)); |
1869 | | throw; |
1870 | | } |
1871 | | } |
1872 | | else { |
1873 | | this->construct(std::forward<Args>(args)...); |
1874 | | } |
1875 | | #else |
1876 | | this->destroy_unexpected(); |
1877 | | this->construct(std::forward<Args>(args)...); |
1878 | | #endif |
1879 | | } |
1880 | | } |
1881 | | |
1882 | | template <typename Value> |
1883 | | void assign_value(Value&& val) noexcept( |
1884 | | std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>, |
1885 | | Value&&> && |
1886 | | std::is_nothrow_assignable_v<T, Value&&>) |
1887 | | { |
1888 | | if (has_value()) { |
1889 | | this->get_value() = std::forward<Value>(val); |
1890 | | return; |
1891 | | } |
1892 | | |
1893 | | #if SCN_HAS_EXCEPTIONS |
1894 | | if constexpr (std::is_nothrow_constructible_v<T, Value&&>) { |
1895 | | this->destroy_unexpected(); |
1896 | | this->construct(std::forward<Value>(val)); |
1897 | | } |
1898 | | else { |
1899 | | auto tmp = std::move(this->get_unexpected()); |
1900 | | this->destroy_unexpected(); |
1901 | | |
1902 | | try { |
1903 | | this->construct(std::forward<Value>(val)); |
1904 | | } |
1905 | | catch (...) { |
1906 | | this->construct_unexpected(std::move(tmp)); |
1907 | | } |
1908 | | } |
1909 | | #else |
1910 | | this->destroy_unexpected(); |
1911 | | this->construct(std::forward<Value>(val)); |
1912 | | #endif |
1913 | | } |
1914 | | |
1915 | | template <typename Unexpected> |
1916 | | void assign_unexpected(Unexpected&& unex) noexcept( |
1917 | | std::is_nothrow_constructible_v<E, Unexpected&&> && |
1918 | | std::is_nothrow_assignable_v<E, Unexpected&&>) |
1919 | | { |
1920 | | if (!has_value()) { |
1921 | | this->get_unexpected() = std::forward<Unexpected>(unex); |
1922 | | return; |
1923 | | } |
1924 | | |
1925 | | this->destroy_value(); |
1926 | | this->construct_unexpected(std::forward<Unexpected>(unex)); |
1927 | | } |
1928 | | }; |
1929 | | |
1930 | | ///////////////////////////////////////////////////////////////// |
1931 | | // <ranges> implementation |
1932 | | ///////////////////////////////////////////////////////////////// |
1933 | | |
1934 | | // The following is a very minimal <ranges> implementation, |
1935 | | // which is a heavily stripped-down and adapted version of NanoRange: |
1936 | | // https://github.com/tcbrindle/NanoRange |
1937 | | // NanoRange is provided under the Boost license. |
1938 | | // Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com) |
1939 | | |
1940 | | namespace ranges { |
1941 | | |
1942 | | namespace detail { |
1943 | | using namespace scn::detail; |
1944 | | |
1945 | | template <typename T> |
1946 | | constexpr auto decay_copy(T&& t) noexcept( |
1947 | | noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T> |
1948 | 794M | { |
1949 | 794M | return SCN_FWD(t); |
1950 | 794M | } _ZN3scn2v36ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_ Line | Count | Source | 1948 | 40.6M | { | 1949 | 40.6M | return SCN_FWD(t); | 1950 | 40.6M | } |
_ZN3scn2v36ranges6detail10decay_copyImEEu7__decayIT_EOS4_ Line | Count | Source | 1948 | 16.3M | { | 1949 | 16.3M | return SCN_FWD(t); | 1950 | 16.3M | } |
_ZN3scn2v36ranges6detail10decay_copyINSt3__116__deque_iteratorIcPKcRS6_PKS7_lLl4096EEEEEu7__decayIT_EOSC_ Line | Count | Source | 1948 | 144M | { | 1949 | 144M | return SCN_FWD(t); | 1950 | 144M | } |
_ZN3scn2v36ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_ Line | Count | Source | 1948 | 46.2M | { | 1949 | 46.2M | return SCN_FWD(t); | 1950 | 46.2M | } |
_ZN3scn2v36ranges6detail10decay_copyINSt3__116__deque_iteratorIwPKwRS6_PKS7_lLl1024EEEEEu7__decayIT_EOSC_ Line | Count | Source | 1948 | 545M | { | 1949 | 545M | return SCN_FWD(t); | 1950 | 545M | } |
Unexecuted instantiation: _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_ _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_ Line | Count | Source | 1948 | 3.85k | { | 1949 | 3.85k | return SCN_FWD(t); | 1950 | 3.85k | } |
_ZN3scn2v36ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_ Line | Count | Source | 1948 | 1.30M | { | 1949 | 1.30M | return SCN_FWD(t); | 1950 | 1.30M | } |
Unexecuted instantiation: _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_ _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_ Line | Count | Source | 1948 | 1.31k | { | 1949 | 1.31k | return SCN_FWD(t); | 1950 | 1.31k | } |
_ZN3scn2v36ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_ Line | Count | Source | 1948 | 703k | { | 1949 | 703k | return SCN_FWD(t); | 1950 | 703k | } |
|
1951 | | |
1952 | | template <bool> |
1953 | | struct conditional { |
1954 | | template <typename T, typename> |
1955 | | using type = T; |
1956 | | }; |
1957 | | |
1958 | | template <> |
1959 | | struct conditional<false> { |
1960 | | template <typename, typename U> |
1961 | | using type = U; |
1962 | | }; |
1963 | | |
1964 | | template <bool B, typename T, typename U> |
1965 | | using conditional_t = typename conditional<B>::template type<T, U>; |
1966 | | |
1967 | | template <template <class...> class AliasT, typename... Args> |
1968 | | auto exists_helper(long) -> std::false_type; |
1969 | | |
1970 | | template <template <class...> class AliasT, |
1971 | | typename... Args, |
1972 | | typename = AliasT<Args...>> |
1973 | | auto exists_helper(int) -> std::true_type; |
1974 | | |
1975 | | template <template <class...> class AliasT, typename... Args> |
1976 | | inline constexpr bool exists_v = |
1977 | | decltype(exists_helper<AliasT, Args...>(0))::value; |
1978 | | |
1979 | | template <typename, typename...> |
1980 | | auto test_requires_fn(long) -> std::false_type; |
1981 | | |
1982 | | template <typename R, |
1983 | | typename... Args, |
1984 | | typename = decltype(&R::template requires_<Args...>)> |
1985 | | auto test_requires_fn(int) -> std::true_type; |
1986 | | |
1987 | | template <typename R, typename... Args> |
1988 | | inline constexpr bool requires_ = |
1989 | | decltype(test_requires_fn<R, Args...>(0))::value; |
1990 | | |
1991 | | template <bool Expr> |
1992 | | using requires_expr = std::enable_if_t<Expr, int>; |
1993 | | } // namespace detail |
1994 | | |
1995 | | template <typename> |
1996 | | inline constexpr bool enable_borrowed_range = false; |
1997 | | |
1998 | | namespace detail { |
1999 | | template <typename T> |
2000 | | inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>; |
2001 | | |
2002 | | struct boolean_testable_concept { |
2003 | | template <typename T> |
2004 | | auto requires_(T&& t) |
2005 | | -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>; |
2006 | | }; |
2007 | | |
2008 | | template <typename T> |
2009 | | inline constexpr bool boolean_testable = |
2010 | | boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>; |
2011 | | } // namespace detail |
2012 | | |
2013 | | namespace detail { |
2014 | | struct weakly_equality_comparable_with_concept { |
2015 | | template <typename T, typename U> |
2016 | | auto requires_(const std::remove_reference_t<T>& t, |
2017 | | const std::remove_reference_t<U>& u) |
2018 | | -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{}, |
2019 | | requires_expr<boolean_testable<decltype(t != u)>>{}, |
2020 | | requires_expr<boolean_testable<decltype(u == t)>>{}, |
2021 | | requires_expr<boolean_testable<decltype(u != t)>>{}); |
2022 | | }; |
2023 | | |
2024 | | template <typename T, typename U> |
2025 | | inline constexpr bool weakly_equality_comparable_with = |
2026 | | requires_<weakly_equality_comparable_with_concept, T, U>; |
2027 | | } // namespace detail |
2028 | | |
2029 | | template <typename T> |
2030 | | inline constexpr bool equality_comparable = |
2031 | | detail::weakly_equality_comparable_with<T, T>; |
2032 | | |
2033 | | namespace detail { |
2034 | | struct equality_comparable_with_concept { |
2035 | | template <typename, typename> |
2036 | | static auto test(long) -> std::false_type; |
2037 | | |
2038 | | template <typename T, typename U> |
2039 | | static auto test(int) |
2040 | | -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> && |
2041 | | #if 0 |
2042 | | common_reference_with<const std::remove_reference_t<T>&, |
2043 | | const std::remove_reference_t<U>&> && |
2044 | | equality_comparable< |
2045 | | common_reference_t<const std::remove_reference_t<T>&, |
2046 | | const std::remove_reference_t<U>&>> && |
2047 | | #endif |
2048 | | weakly_equality_comparable_with<T, U>, |
2049 | | std::true_type>; |
2050 | | }; |
2051 | | } // namespace detail |
2052 | | |
2053 | | template <typename T, typename U> |
2054 | | inline constexpr bool equality_comparable_with = |
2055 | | decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value; |
2056 | | |
2057 | | namespace detail { |
2058 | | struct partially_ordered_with_concept { |
2059 | | template <typename T, typename U> |
2060 | | auto requires_(const std::remove_reference_t<T>& t, |
2061 | | const std::remove_reference_t<U>& u) |
2062 | | -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{}, |
2063 | | requires_expr<boolean_testable<decltype(t > u)>>{}, |
2064 | | requires_expr<boolean_testable<decltype(t <= u)>>{}, |
2065 | | requires_expr<boolean_testable<decltype(t >= u)>>{}, |
2066 | | requires_expr<boolean_testable<decltype(u < t)>>{}, |
2067 | | requires_expr<boolean_testable<decltype(u > t)>>{}, |
2068 | | requires_expr<boolean_testable<decltype(u <= t)>>{}, |
2069 | | requires_expr<boolean_testable<decltype(u >= t)>>{}); |
2070 | | }; |
2071 | | |
2072 | | template <typename T, typename U> |
2073 | | inline constexpr bool partially_ordered_with = |
2074 | | detail::requires_<detail::partially_ordered_with_concept, T, U>; |
2075 | | } // namespace detail |
2076 | | |
2077 | | template <typename T> |
2078 | | inline constexpr bool totally_ordered = |
2079 | | equality_comparable<T> && detail::partially_ordered_with<T, T>; |
2080 | | |
2081 | | namespace detail { |
2082 | | struct totally_ordered_with_concept { |
2083 | | template <typename, typename> |
2084 | | static auto test(long) -> std::false_type; |
2085 | | |
2086 | | template <typename T, typename U> |
2087 | | static auto test(int) |
2088 | | -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> && |
2089 | | equality_comparable_with<T, U> && |
2090 | | #if 0 |
2091 | | totally_ordered<common_reference_t< |
2092 | | const std::remove_reference_t<T>&, |
2093 | | const std::remove_reference_t<U>&>> && |
2094 | | #endif |
2095 | | partially_ordered_with<T, U>, |
2096 | | std::true_type>; |
2097 | | }; |
2098 | | } // namespace detail |
2099 | | |
2100 | | template <typename T, typename U> |
2101 | | inline constexpr bool totally_ordered_with = |
2102 | | decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value; |
2103 | | |
2104 | | namespace detail { |
2105 | | struct movable_concept { |
2106 | | template <typename T> |
2107 | | static auto test(long) -> std::false_type; |
2108 | | |
2109 | | template <typename T> |
2110 | | static auto test(int) -> std::enable_if_t< |
2111 | | std::is_object_v<T> && std::is_move_constructible_v<T> && |
2112 | | std::is_move_assignable_v<T> && std::is_swappable_v<T>, |
2113 | | std::true_type>; |
2114 | | }; |
2115 | | } // namespace detail |
2116 | | |
2117 | | template <typename T> |
2118 | | inline constexpr bool movable = |
2119 | | decltype(detail::movable_concept::test<T>(0))::value; |
2120 | | |
2121 | | namespace detail { |
2122 | | struct copyable_concept { |
2123 | | template <typename> |
2124 | | static auto test(long) -> std::false_type; |
2125 | | |
2126 | | template <typename T> |
2127 | | static auto test(int) |
2128 | | -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> && |
2129 | | std::is_copy_assignable_v<T>, |
2130 | | std::true_type>; |
2131 | | }; |
2132 | | } // namespace detail |
2133 | | |
2134 | | template <typename T> |
2135 | | inline constexpr bool copyable = |
2136 | | decltype(detail::copyable_concept::test<T>(0))::value; |
2137 | | |
2138 | | template <typename T> |
2139 | | inline constexpr bool semiregular = |
2140 | | copyable<T> && std::is_default_constructible_v<T>; |
2141 | | |
2142 | | template <typename T> |
2143 | | inline constexpr bool regular = semiregular<T> && equality_comparable<T>; |
2144 | | |
2145 | | template <typename> |
2146 | | struct incrementable_traits; |
2147 | | |
2148 | | namespace detail { |
2149 | | struct empty {}; |
2150 | | |
2151 | | template <typename T> |
2152 | | struct with_difference_type { |
2153 | | using difference_type = T; |
2154 | | }; |
2155 | | |
2156 | | template <typename, typename = void> |
2157 | | struct incrementable_traits_helper {}; |
2158 | | |
2159 | | // Workaround for GCC silliness: void* has no difference_type |
2160 | | // FIXME: This is required to stop WeaklyIncrementable<void*> being a hard |
2161 | | // error Can we formulate the concept differently to avoid the need for this |
2162 | | // hack? |
2163 | | template <> |
2164 | | struct incrementable_traits_helper<void*> {}; |
2165 | | |
2166 | | template <typename T> |
2167 | | struct incrementable_traits_helper<T*> |
2168 | | : detail::conditional_t<std::is_object_v<T>, |
2169 | | with_difference_type<std::ptrdiff_t>, |
2170 | | empty> {}; |
2171 | | |
2172 | | template <class I> |
2173 | | struct incrementable_traits_helper<const I> |
2174 | | : incrementable_traits<std::decay_t<I>> {}; |
2175 | | |
2176 | | template <typename, typename = void> |
2177 | | struct has_member_difference_type : std::false_type {}; |
2178 | | |
2179 | | template <typename T> |
2180 | | struct has_member_difference_type<T, std::void_t<typename T::difference_type>> |
2181 | | : std::true_type {}; |
2182 | | |
2183 | | template <typename T> |
2184 | | constexpr bool has_member_difference_type_v = |
2185 | | has_member_difference_type<T>::value; |
2186 | | |
2187 | | template <typename T> |
2188 | | struct incrementable_traits_helper< |
2189 | | T, |
2190 | | std::enable_if_t<has_member_difference_type_v<T>>> { |
2191 | | using difference_type = typename T::difference_type; |
2192 | | }; |
2193 | | |
2194 | | template <typename T, typename = void> |
2195 | | struct subtraction_result_type { |
2196 | | using type = void; |
2197 | | }; |
2198 | | template <typename T> |
2199 | | struct subtraction_result_type< |
2200 | | T, |
2201 | | std::void_t<decltype(std::declval<const T&>() - |
2202 | | std::declval<const T&>())>> { |
2203 | | using type = decltype(std::declval<const T&>() - std::declval<const T&>()); |
2204 | | }; |
2205 | | |
2206 | | template <typename T> |
2207 | | inline constexpr bool enable_incrtraits_subtractable = |
2208 | | !std::is_pointer_v<T> && !has_member_difference_type_v<T> && |
2209 | | std::is_integral_v<typename subtraction_result_type<T>::type>; |
2210 | | |
2211 | | template <typename T> |
2212 | | struct incrementable_traits_helper< |
2213 | | T, |
2214 | | std::enable_if_t<enable_incrtraits_subtractable<T>>> |
2215 | | : with_difference_type< |
2216 | | std::make_signed_t<typename subtraction_result_type<T>::type>> {}; |
2217 | | } // namespace detail |
2218 | | |
2219 | | template <typename T> |
2220 | | struct incrementable_traits : detail::incrementable_traits_helper<T> {}; |
2221 | | |
2222 | | template <typename T> |
2223 | | using iter_difference_t = typename incrementable_traits<T>::difference_type; |
2224 | | |
2225 | | template <typename> |
2226 | | struct readable_traits; |
2227 | | |
2228 | | namespace detail { |
2229 | | template <typename T> |
2230 | | struct with_value_type { |
2231 | | using value_type = T; |
2232 | | }; |
2233 | | |
2234 | | template <typename, typename = void> |
2235 | | struct readable_traits_helper {}; |
2236 | | |
2237 | | template <typename T> |
2238 | | struct readable_traits_helper<T*> |
2239 | | : detail::conditional_t<std::is_object_v<T>, |
2240 | | with_value_type<std::remove_cv_t<T>>, |
2241 | | empty> {}; |
2242 | | |
2243 | | template <typename I> |
2244 | | struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>> |
2245 | | : readable_traits<std::decay_t<I>> {}; |
2246 | | |
2247 | | template <typename I> |
2248 | | struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>> |
2249 | | : readable_traits<std::decay_t<I>> {}; |
2250 | | |
2251 | | template <typename T, typename V = typename T::value_type> |
2252 | | struct member_value_type |
2253 | | : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {}; |
2254 | | |
2255 | | template <typename T, typename E = typename T::element_type> |
2256 | | struct member_element_type |
2257 | | : detail::conditional_t<std::is_object_v<E>, |
2258 | | with_value_type<std::remove_cv_t<E>>, |
2259 | | empty> {}; |
2260 | | |
2261 | | template <typename T> |
2262 | | using member_value_type_t = typename T::value_type; |
2263 | | |
2264 | | template <typename T> |
2265 | | constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>; |
2266 | | |
2267 | | template <typename T> |
2268 | | using member_element_type_t = typename T::element_type; |
2269 | | |
2270 | | template <typename T> |
2271 | | constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>; |
2272 | | |
2273 | | template <typename T> |
2274 | | struct readable_traits_helper<T, |
2275 | | std::enable_if_t<has_member_value_type_v<T> && |
2276 | | !has_member_element_type_v<T>>> |
2277 | | : member_value_type<T> {}; |
2278 | | |
2279 | | template <typename T> |
2280 | | struct readable_traits_helper<T, |
2281 | | std::enable_if_t<has_member_element_type_v<T> && |
2282 | | !has_member_value_type_v<T>>> |
2283 | | : member_element_type<T> {}; |
2284 | | |
2285 | | // A type which has both value_type and element_type members must specialise |
2286 | | // readable_traits to tell us which one to prefer -- see |
2287 | | // https://github.com/ericniebler/stl2/issues/562 |
2288 | | template <typename T> |
2289 | | struct readable_traits_helper<T, |
2290 | | std::enable_if_t<has_member_element_type_v<T> && |
2291 | | has_member_value_type_v<T>>> {}; |
2292 | | } // namespace detail |
2293 | | |
2294 | | template <typename T> |
2295 | | struct readable_traits : detail::readable_traits_helper<T> {}; |
2296 | | |
2297 | | template <typename T> |
2298 | | using iter_value_t = typename readable_traits<T>::value_type; |
2299 | | |
2300 | | namespace detail { |
2301 | | template <typename T> |
2302 | | using with_reference = T&; |
2303 | | |
2304 | | struct can_reference_concept { |
2305 | | template <typename T> |
2306 | | auto requires_() -> with_reference<T>; |
2307 | | }; |
2308 | | |
2309 | | template <typename T> |
2310 | | inline constexpr bool can_reference = |
2311 | | detail::requires_<can_reference_concept, T>; |
2312 | | |
2313 | | struct dereferencable_concept { |
2314 | | template <typename T> |
2315 | | auto requires_(T& t) |
2316 | | -> decltype(requires_expr<can_reference<decltype(*t)>>{}); |
2317 | | }; |
2318 | | |
2319 | | template <typename T> |
2320 | | inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>; |
2321 | | |
2322 | | // GCC and Clang allow dereferencing void* as an extension. |
2323 | | // Let's kill that off now. |
2324 | | |
2325 | | template <> |
2326 | | inline constexpr bool dereferenceable<void*> = false; |
2327 | | } // namespace detail |
2328 | | |
2329 | | using std::bidirectional_iterator_tag; |
2330 | | using std::forward_iterator_tag; |
2331 | | using std::input_iterator_tag; |
2332 | | using std::output_iterator_tag; |
2333 | | using std::random_access_iterator_tag; |
2334 | | |
2335 | | #if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \ |
2336 | | __cpp_lib_ranges >= 201911L |
2337 | | using std::contiguous_iterator_tag; |
2338 | | #else |
2339 | | struct contiguous_iterator_tag : random_access_iterator_tag {}; |
2340 | | #endif |
2341 | | |
2342 | | template <typename T> |
2343 | | struct iterator_category; |
2344 | | |
2345 | | namespace detail { |
2346 | | template <typename T, typename = void> |
2347 | | struct iterator_category_ {}; |
2348 | | template <typename T> |
2349 | | struct iterator_category_<T*> |
2350 | | : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {}; |
2351 | | template <typename T> |
2352 | | struct iterator_category_<const T> : iterator_category<T> {}; |
2353 | | template <typename T> |
2354 | | struct iterator_category_<T, std::void_t<typename T::iterator_category>> { |
2355 | | using type = typename T::iterator_category; |
2356 | | }; |
2357 | | } // namespace detail |
2358 | | |
2359 | | template <typename T> |
2360 | | struct iterator_category : detail::iterator_category_<T> {}; |
2361 | | template <typename T> |
2362 | | using iterator_category_t = typename iterator_category<T>::type; |
2363 | | |
2364 | | namespace detail { |
2365 | | |
2366 | | template <typename T, typename = void> |
2367 | | struct legacy_iterator_category : iterator_category<T> {}; |
2368 | | |
2369 | | template <typename T> |
2370 | | struct legacy_iterator_category< |
2371 | | T, |
2372 | | std::enable_if_t< |
2373 | | std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> { |
2374 | | using type = random_access_iterator_tag; |
2375 | | }; |
2376 | | |
2377 | | template <typename T> |
2378 | | using legacy_iterator_category_t = typename legacy_iterator_category<T>::type; |
2379 | | |
2380 | | } // namespace detail |
2381 | | |
2382 | | template <typename T> |
2383 | | using iter_reference_t = |
2384 | | std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>; |
2385 | | |
2386 | | namespace detail { |
2387 | | |
2388 | | struct readable_concept { |
2389 | | template <typename In> |
2390 | | auto requires_() -> decltype(std::declval<iter_value_t<In>>(), |
2391 | | std::declval<iter_reference_t<In>>()); |
2392 | | // std::declval<iter_rvalue_reference_t<In>>()); |
2393 | | |
2394 | | template <typename> |
2395 | | static auto test(long) -> std::false_type; |
2396 | | |
2397 | | template <typename In> |
2398 | | static auto test(int) |
2399 | | -> std::enable_if_t<detail::requires_<readable_concept, In>, |
2400 | | #if 0 |
2401 | | common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> && |
2402 | | common_reference_with<iter_reference_t<In>&&, |
2403 | | iter_rvalue_reference_t<In>&&> && |
2404 | | common_reference_with<iter_rvalue_reference_t<In>&&, |
2405 | | const iter_value_t<In>&>, |
2406 | | #endif |
2407 | | std::true_type>; |
2408 | | }; |
2409 | | |
2410 | | } // namespace detail |
2411 | | |
2412 | | template <typename In> |
2413 | | inline constexpr bool readable = |
2414 | | decltype(detail::readable_concept::test<In>(0))::value; |
2415 | | |
2416 | | namespace detail { |
2417 | | |
2418 | | struct writable_concept { |
2419 | | template <typename Out, typename T> |
2420 | | auto requires_(Out&& o, T&& t) |
2421 | | -> decltype(*o = std::forward<T>(t), |
2422 | | *std::forward<Out>(o) = std::forward<T>(t), |
2423 | | const_cast<const iter_reference_t<Out>&&>(*o) = |
2424 | | std::forward<T>(t), |
2425 | | const_cast<const iter_reference_t<Out>&&>( |
2426 | | *std::forward<Out>(o)) = std::forward<T>(t)); |
2427 | | }; |
2428 | | |
2429 | | } // namespace detail |
2430 | | |
2431 | | template <typename Out, typename T> |
2432 | | inline constexpr bool writable = |
2433 | | detail::requires_<detail::writable_concept, Out, T>; |
2434 | | |
2435 | | namespace detail { |
2436 | | |
2437 | | template <typename T> |
2438 | | inline constexpr bool is_integer_like = std::is_integral_v<T>; |
2439 | | |
2440 | | template <typename T> |
2441 | | inline constexpr bool is_signed_integer_like = |
2442 | | std::is_integral_v<T> && std::is_signed_v<T>; |
2443 | | |
2444 | | struct weakly_incrementable_concept { |
2445 | | template <typename I> |
2446 | | auto requires_(I i) |
2447 | | -> decltype(std::declval<iter_difference_t<I>>(), |
2448 | | requires_expr< |
2449 | | is_signed_integer_like<iter_difference_t<I>>>{}, |
2450 | | requires_expr<std::is_same_v<decltype(++i), I&>>{}, |
2451 | | i++); |
2452 | | }; |
2453 | | |
2454 | | } // namespace detail |
2455 | | |
2456 | | template <typename I> |
2457 | | inline constexpr bool weakly_incrementable = |
2458 | | std::is_default_constructible_v<I> && movable<I> && |
2459 | | detail::requires_<detail::weakly_incrementable_concept, I>; |
2460 | | |
2461 | | namespace detail { |
2462 | | |
2463 | | struct incrementable_concept { |
2464 | | template <typename I> |
2465 | | auto requires_(I i) |
2466 | | -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{}); |
2467 | | }; |
2468 | | |
2469 | | } // namespace detail |
2470 | | |
2471 | | template <typename I> |
2472 | | inline constexpr bool incrementable = |
2473 | | regular<I> && weakly_incrementable<I> && |
2474 | | detail::requires_<detail::incrementable_concept, I>; |
2475 | | |
2476 | | namespace detail { |
2477 | | |
2478 | | struct input_or_output_iterator_concept { |
2479 | | template <typename I> |
2480 | | auto requires_(I i) |
2481 | | -> decltype(requires_expr<can_reference<decltype(*i)>>{}); |
2482 | | }; |
2483 | | |
2484 | | } // namespace detail |
2485 | | |
2486 | | template <typename I> |
2487 | | inline constexpr bool input_or_output_iterator = |
2488 | | detail::requires_<detail::input_or_output_iterator_concept, I> && |
2489 | | weakly_incrementable<I>; |
2490 | | |
2491 | | template <typename S, typename I> |
2492 | | inline constexpr bool sentinel_for = |
2493 | | semiregular<S> && input_or_output_iterator<I> && |
2494 | | detail::weakly_equality_comparable_with<S, I>; |
2495 | | |
2496 | | template <typename S, typename I> |
2497 | | inline constexpr bool disable_sized_sentinel = false; |
2498 | | |
2499 | | namespace detail { |
2500 | | |
2501 | | struct sized_sentinel_for_concept { |
2502 | | template <typename S, typename I> |
2503 | | auto requires_(const S& s, const I& i) |
2504 | | -> decltype(requires_expr<std::is_same_v<decltype(s - i), |
2505 | | iter_difference_t<I>>>{}, |
2506 | | requires_expr<std::is_same_v<decltype(i - s), |
2507 | | iter_difference_t<I>>>{}); |
2508 | | }; |
2509 | | |
2510 | | } // namespace detail |
2511 | | |
2512 | | template <typename S, typename I> |
2513 | | inline constexpr bool sized_sentinel_for = |
2514 | | sentinel_for<S, I> && |
2515 | | !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> && |
2516 | | detail::requires_<detail::sized_sentinel_for_concept, S, I>; |
2517 | | |
2518 | | // This is a hack, but I'm fed up with my tests breaking because GCC |
2519 | | // has a silly extension |
2520 | | template <typename S> |
2521 | | inline constexpr bool sized_sentinel_for<S, void*> = false; |
2522 | | |
2523 | | template <typename I> |
2524 | | inline constexpr bool sized_sentinel_for<void*, I> = false; |
2525 | | |
2526 | | template <> |
2527 | | inline constexpr bool sized_sentinel_for<void*, void*> = false; |
2528 | | |
2529 | | namespace detail { |
2530 | | |
2531 | | // FIXME: Use ITER_CONCEPT, not iterator_category_t |
2532 | | struct input_iterator_concept { |
2533 | | template <typename I> |
2534 | | auto requires_() -> iterator_category_t<I>; |
2535 | | |
2536 | | template <typename> |
2537 | | static auto test(long) -> std::false_type; |
2538 | | |
2539 | | template <typename I> |
2540 | | static auto test(int) -> std::enable_if_t< |
2541 | | input_or_output_iterator<I> && readable<I> && |
2542 | | detail::requires_<input_iterator_concept, I> && |
2543 | | std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>, |
2544 | | std::true_type>; |
2545 | | }; |
2546 | | |
2547 | | } // namespace detail |
2548 | | |
2549 | | template <typename I> |
2550 | | inline constexpr bool input_iterator = |
2551 | | decltype(detail::input_iterator_concept::test<I>(0))::value; |
2552 | | |
2553 | | namespace detail { |
2554 | | |
2555 | | struct output_iterator_concept { |
2556 | | template <typename I, typename T> |
2557 | | auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t)); |
2558 | | }; |
2559 | | |
2560 | | } // namespace detail |
2561 | | |
2562 | | template <typename I, typename T> |
2563 | | inline constexpr bool output_iterator = |
2564 | | input_or_output_iterator<I> && writable<I, T> && |
2565 | | detail::requires_<detail::output_iterator_concept, I, T>; |
2566 | | |
2567 | | namespace detail { |
2568 | | |
2569 | | struct forward_iterator_concept { |
2570 | | template <typename> |
2571 | | static auto test(long) -> std::false_type; |
2572 | | |
2573 | | template <typename I> |
2574 | | static auto test(int) -> std::enable_if_t< |
2575 | | input_iterator<I> && |
2576 | | std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> && |
2577 | | incrementable<I> && sentinel_for<I, I>, |
2578 | | std::true_type>; |
2579 | | }; |
2580 | | |
2581 | | } // namespace detail |
2582 | | |
2583 | | template <typename I> |
2584 | | inline constexpr bool forward_iterator = |
2585 | | decltype(detail::forward_iterator_concept::test<I>(0))::value; |
2586 | | |
2587 | | namespace detail { |
2588 | | |
2589 | | struct bidirectional_iterator_concept { |
2590 | | template <typename I> |
2591 | | auto requires_(I i) |
2592 | | -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{}, |
2593 | | requires_expr<std::is_same_v<decltype(i--), I>>{}); |
2594 | | |
2595 | | template <typename> |
2596 | | static auto test(long) -> std::false_type; |
2597 | | |
2598 | | template <typename I> |
2599 | | static auto test(int) -> std::enable_if_t< |
2600 | | forward_iterator<I> && |
2601 | | std::is_base_of_v<bidirectional_iterator_tag, |
2602 | | iterator_category_t<I>> && |
2603 | | detail::requires_<bidirectional_iterator_concept, I>, |
2604 | | std::true_type>; |
2605 | | }; |
2606 | | |
2607 | | } // namespace detail |
2608 | | |
2609 | | template <typename I> |
2610 | | inline constexpr bool bidirectional_iterator = |
2611 | | decltype(detail::bidirectional_iterator_concept::test<I>(0))::value; |
2612 | | |
2613 | | namespace detail { |
2614 | | |
2615 | | struct random_access_iterator_concept { |
2616 | | template <typename> |
2617 | | static auto test(long) -> std::false_type; |
2618 | | |
2619 | | template <typename I> |
2620 | | static auto test(int) -> std::enable_if_t< |
2621 | | bidirectional_iterator<I> && |
2622 | | std::is_base_of_v<random_access_iterator_tag, |
2623 | | iterator_category_t<I>> && |
2624 | | totally_ordered<I> && sized_sentinel_for<I, I> && |
2625 | | detail::requires_<random_access_iterator_concept, I>, |
2626 | | std::true_type>; |
2627 | | |
2628 | | template <typename I> |
2629 | | auto requires_(I i, const I j, const iter_difference_t<I> n) |
2630 | | -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{}, |
2631 | | requires_expr<std::is_same_v<decltype(j + n), I>>{}, |
2632 | | #ifndef _MSC_VER |
2633 | | requires_expr<std::is_same_v<decltype(n + j), |
2634 | | I>>{}, // FIXME: MSVC doesn't |
2635 | | // like this when I = |
2636 | | // int* |
2637 | | #endif |
2638 | | requires_expr<std::is_same_v<decltype(i -= n), I&>>{}, |
2639 | | requires_expr<std::is_same_v<decltype(j - n), I>>{}, |
2640 | | requires_expr< |
2641 | | std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{}); |
2642 | | }; |
2643 | | |
2644 | | } // namespace detail |
2645 | | |
2646 | | template <typename I> |
2647 | | inline constexpr bool random_access_iterator = |
2648 | | decltype(detail::random_access_iterator_concept::test<I>(0))::value; |
2649 | | |
2650 | | namespace detail { |
2651 | | |
2652 | | struct contiguous_iterator_concept { |
2653 | | template <typename> |
2654 | | static auto test(long) -> std::false_type; |
2655 | | |
2656 | | template <typename I> |
2657 | | static auto test(int) -> std::enable_if_t< |
2658 | | random_access_iterator<I> && |
2659 | | /*std::is_base_of_v<contiguous_iterator_tag, |
2660 | | iterator_category_t<I>> &&*/ |
2661 | | detail::can_make_address_from_iterator<I> && |
2662 | | std::is_lvalue_reference_v<iter_reference_t<I>> && |
2663 | | std::is_same_v<iter_value_t<I>, |
2664 | | remove_cvref_t<iter_reference_t<I>>>, |
2665 | | std::true_type>; |
2666 | | }; |
2667 | | |
2668 | | } // namespace detail |
2669 | | |
2670 | | template <typename I> |
2671 | | inline constexpr bool contiguous_iterator = |
2672 | | decltype(detail::contiguous_iterator_concept::test<I>(0))::value; |
2673 | | |
2674 | | namespace detail::begin_ { |
2675 | | |
2676 | | template <typename T> |
2677 | | void begin(T&) = delete; |
2678 | | template <typename T> |
2679 | | void begin(const T&) = delete; |
2680 | | |
2681 | | struct fn { |
2682 | | private: |
2683 | | template <typename T, |
2684 | | std::enable_if_t<!std::is_lvalue_reference_v<T> && |
2685 | | !enable_borrowed_range<std::remove_cv_t<T>>>* = |
2686 | | nullptr> |
2687 | | static constexpr void impl(T&&, priority_tag<3>) = delete; |
2688 | | |
2689 | | template <typename T, |
2690 | | std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr> |
2691 | | static constexpr auto impl(T&& t, priority_tag<2>) noexcept |
2692 | | -> decltype(t + 0) |
2693 | | { |
2694 | | static_assert(ranges::input_or_output_iterator<decltype(t + 0)>); |
2695 | | return t + 0; |
2696 | | } |
2697 | | |
2698 | | template <typename T> |
2699 | | static constexpr auto impl(T&& t, priority_tag<1>) noexcept( |
2700 | | noexcept(decay_copy(SCN_FWD(t).begin()))) |
2701 | | -> std::enable_if_t< |
2702 | | input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>, |
2703 | | decltype(decay_copy(SCN_FWD(t).begin()))> |
2704 | 80.9M | { |
2705 | 80.9M | return decay_copy(t.begin()); |
2706 | 80.9M | } std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 459k | { | 2705 | 459k | return decay_copy(t.begin()); | 2706 | 459k | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 8.39M | { | 2705 | 8.39M | return decay_copy(t.begin()); | 2706 | 8.39M | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 18.9M | { | 2705 | 18.9M | return decay_copy(t.begin()); | 2706 | 18.9M | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&>(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 419k | { | 2705 | 419k | return decay_copy(t.begin()); | 2706 | 419k | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 8.49M | { | 2705 | 8.49M | return decay_copy(t.begin()); | 2706 | 8.49M | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 4.03M | { | 2705 | 4.03M | return decay_copy(t.begin()); | 2706 | 4.03M | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 913k | { | 2705 | 913k | return decay_copy(t.begin()); | 2706 | 913k | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 12.8M | { | 2705 | 12.8M | return decay_copy(t.begin()); | 2706 | 12.8M | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 12.7M | { | 2705 | 12.7M | return decay_copy(t.begin()); | 2706 | 12.7M | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&>(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 838k | { | 2705 | 838k | return decay_copy(t.begin()); | 2706 | 838k | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 7.44M | { | 2705 | 7.44M | return decay_copy(t.begin()); | 2706 | 7.44M | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 3.30M | { | 2705 | 3.30M | return decay_copy(t.begin()); | 2706 | 3.30M | } |
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 1.78k | { | 2705 | 1.78k | return decay_copy(t.begin()); | 2706 | 1.78k | } |
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 1.30M | { | 2705 | 1.30M | return decay_copy(t.begin()); | 2706 | 1.30M | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 288 | { | 2705 | 288 | return decay_copy(t.begin()); | 2706 | 288 | } |
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 570 | { | 2705 | 570 | return decay_copy(t.begin()); | 2706 | 570 | } |
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 703k | { | 2705 | 703k | return decay_copy(t.begin()); | 2706 | 703k | } |
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2704 | 174 | { | 2705 | 174 | return decay_copy(t.begin()); | 2706 | 174 | } |
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v3::detail::priority_tag<1ul>)Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v3::detail::priority_tag<1ul>) |
2707 | | |
2708 | | template <typename T> |
2709 | | static constexpr auto impl(T&& t, priority_tag<0>) noexcept( |
2710 | | noexcept(decay_copy(begin(SCN_FWD(t))))) |
2711 | | -> std::enable_if_t< |
2712 | | input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>, |
2713 | | decltype(decay_copy(begin(SCN_FWD(t))))> |
2714 | | { |
2715 | | return decay_copy(begin(SCN_FWD(t))); |
2716 | | } |
2717 | | |
2718 | | public: |
2719 | | template <typename T> |
2720 | | constexpr auto operator()(T&& t) const |
2721 | | noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{}))) |
2722 | | -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{})) |
2723 | 80.9M | { |
2724 | 80.9M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); |
2725 | 80.9M | } _ZNK3scn2v36ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 459k | { | 2724 | 459k | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 459k | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 8.39M | { | 2724 | 8.39M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 8.39M | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 18.9M | { | 2724 | 18.9M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 18.9M | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 419k | { | 2724 | 419k | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 419k | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 8.49M | { | 2724 | 8.49M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 8.49M | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 4.03M | { | 2724 | 4.03M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 4.03M | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 913k | { | 2724 | 913k | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 913k | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 12.8M | { | 2724 | 12.8M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 12.8M | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 12.7M | { | 2724 | 12.7M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 12.7M | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 838k | { | 2724 | 838k | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 838k | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 7.44M | { | 2724 | 7.44M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 7.44M | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 3.30M | { | 2724 | 3.30M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 3.30M | } |
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_ _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 1.78k | { | 2724 | 1.78k | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 1.78k | } |
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_ _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 1.30M | { | 2724 | 1.30M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 1.30M | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 288 | { | 2724 | 288 | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 288 | } |
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_ _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 570 | { | 2724 | 570 | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 570 | } |
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_ _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 703k | { | 2724 | 703k | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 703k | } |
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2723 | 174 | { | 2724 | 174 | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2725 | 174 | } |
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ |
2726 | | }; |
2727 | | |
2728 | | } // namespace detail::begin_ |
2729 | | |
2730 | | inline constexpr auto begin = detail::begin_::fn{}; |
2731 | | |
2732 | | namespace detail::end_ { |
2733 | | |
2734 | | template <typename T> |
2735 | | void end(T&) = delete; |
2736 | | template <typename T> |
2737 | | void end(const T&) = delete; |
2738 | | |
2739 | | struct fn { |
2740 | | private: |
2741 | | template <typename T, |
2742 | | std::enable_if_t<!std::is_lvalue_reference_v<T> && |
2743 | | !enable_borrowed_range<std::remove_cv_t<T>>>* = |
2744 | | nullptr> |
2745 | | static constexpr void impl(T&&, priority_tag<3>) = delete; |
2746 | | |
2747 | | template <typename T, |
2748 | | std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr> |
2749 | | static constexpr auto impl(T&& t, priority_tag<2>) noexcept |
2750 | | -> decltype(t + std::extent_v<remove_cvref_t<T>>) |
2751 | | { |
2752 | | return t + std::extent_v<remove_cvref_t<T>>; |
2753 | | } |
2754 | | |
2755 | | template <typename T, |
2756 | | typename S = decltype(decay_copy(SCN_DECLVAL(T).end())), |
2757 | | typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))> |
2758 | | static constexpr auto impl(T&& t, priority_tag<1>) noexcept( |
2759 | | noexcept(decay_copy(SCN_FWD(t).end()))) |
2760 | | -> std::enable_if_t<sentinel_for<S, I>, |
2761 | | decltype(decay_copy(SCN_FWD(t).end()))> |
2762 | 697M | { |
2763 | 697M | return decay_copy(SCN_FWD(t).end()); |
2764 | 697M | } std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2762 | 8.85M | { | 2763 | 8.85M | return decay_copy(SCN_FWD(t).end()); | 2764 | 8.85M | } |
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2762 | 3.97M | { | 2763 | 3.97M | return decay_copy(SCN_FWD(t).end()); | 2764 | 3.97M | } |
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2762 | 8.91M | { | 2763 | 8.91M | return decay_copy(SCN_FWD(t).end()); | 2764 | 8.91M | } |
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2762 | 118M | { | 2763 | 118M | return decay_copy(SCN_FWD(t).end()); | 2764 | 118M | } |
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2762 | 4.03M | { | 2763 | 4.03M | return decay_copy(SCN_FWD(t).end()); | 2764 | 4.03M | } |
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2762 | 13.7M | { | 2763 | 13.7M | return decay_copy(SCN_FWD(t).end()); | 2764 | 13.7M | } |
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2762 | 5.97M | { | 2763 | 5.97M | return decay_copy(SCN_FWD(t).end()); | 2764 | 5.97M | } |
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2762 | 8.28M | { | 2763 | 8.28M | return decay_copy(SCN_FWD(t).end()); | 2764 | 8.28M | } |
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2762 | 522M | { | 2763 | 522M | return decay_copy(SCN_FWD(t).end()); | 2764 | 522M | } |
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2762 | 3.30M | { | 2763 | 3.30M | return decay_copy(SCN_FWD(t).end()); | 2764 | 3.30M | } |
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2762 | 1.78k | { | 2763 | 1.78k | return decay_copy(SCN_FWD(t).end()); | 2764 | 1.78k | } |
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::detail::priority_tag<1ul>)Line | Count | Source | 2762 | 570 | { | 2763 | 570 | return decay_copy(SCN_FWD(t).end()); | 2764 | 570 | } |
|
2765 | | |
2766 | | template <typename T, |
2767 | | typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))), |
2768 | | typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))> |
2769 | | static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept( |
2770 | | decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S> |
2771 | | { |
2772 | | return decay_copy(end(SCN_FWD(t))); |
2773 | | } |
2774 | | |
2775 | | public: |
2776 | | template <typename T> |
2777 | | constexpr auto operator()(T&& t) const |
2778 | | noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{}))) |
2779 | | -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{})) |
2780 | 697M | { |
2781 | 697M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); |
2782 | 697M | } _ZNK3scn2v36ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2780 | 8.85M | { | 2781 | 8.85M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2782 | 8.85M | } |
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2780 | 3.97M | { | 2781 | 3.97M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2782 | 3.97M | } |
_ZNK3scn2v36ranges6detail4end_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2780 | 8.91M | { | 2781 | 8.91M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2782 | 8.91M | } |
_ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2780 | 118M | { | 2781 | 118M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2782 | 118M | } |
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2780 | 4.03M | { | 2781 | 4.03M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2782 | 4.03M | } |
_ZNK3scn2v36ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2780 | 13.7M | { | 2781 | 13.7M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2782 | 13.7M | } |
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2780 | 5.97M | { | 2781 | 5.97M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2782 | 5.97M | } |
_ZNK3scn2v36ranges6detail4end_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2780 | 8.28M | { | 2781 | 8.28M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2782 | 8.28M | } |
_ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2780 | 522M | { | 2781 | 522M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2782 | 522M | } |
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2780 | 3.30M | { | 2781 | 3.30M | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2782 | 3.30M | } |
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_ _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2780 | 1.78k | { | 2781 | 1.78k | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2782 | 1.78k | } |
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_ _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_ Line | Count | Source | 2780 | 570 | { | 2781 | 570 | return fn::impl(SCN_FWD(t), priority_tag<3>{}); | 2782 | 570 | } |
|
2783 | | }; |
2784 | | |
2785 | | } // namespace detail::end_ |
2786 | | |
2787 | | inline constexpr auto end = detail::end_::fn{}; |
2788 | | |
2789 | | namespace detail { |
2790 | | struct range_concept { |
2791 | | template <typename T> |
2792 | | auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t)); |
2793 | | }; |
2794 | | } // namespace detail |
2795 | | |
2796 | | template <typename T> |
2797 | | inline constexpr bool range = detail::requires_<detail::range_concept, T>; |
2798 | | |
2799 | | template <typename T> |
2800 | | using iterator_t = decltype(ranges::begin(std::declval<T&>())); |
2801 | | |
2802 | | template <typename R> |
2803 | | using sentinel_t = |
2804 | | std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>; |
2805 | | |
2806 | | template <typename R> |
2807 | | using range_difference_t = |
2808 | | std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>; |
2809 | | |
2810 | | template <typename R> |
2811 | | using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>; |
2812 | | |
2813 | | template <typename R> |
2814 | | using range_reference_t = |
2815 | | std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>; |
2816 | | |
2817 | | namespace detail { |
2818 | | template <typename, typename = void> |
2819 | | inline constexpr bool is_object_pointer_v = false; |
2820 | | template <typename P> |
2821 | | inline constexpr bool |
2822 | | is_object_pointer_v<P, |
2823 | | std::enable_if_t<std::is_pointer_v<P> && |
2824 | | std::is_object_v<iter_value_t<P>>>> = |
2825 | | true; |
2826 | | |
2827 | | namespace data_ { |
2828 | | |
2829 | | struct fn { |
2830 | | private: |
2831 | | template <typename T, |
2832 | | typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))> |
2833 | | static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept( |
2834 | | decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D> |
2835 | 27.6M | { |
2836 | 27.6M | return t.data(); |
2837 | 27.6M | } std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>) Line | Count | Source | 2835 | 4.41M | { | 2836 | 4.41M | return t.data(); | 2837 | 4.41M | } |
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>) Line | Count | Source | 2835 | 6.87M | { | 2836 | 6.87M | return t.data(); | 2837 | 6.87M | } |
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>) Line | Count | Source | 2835 | 8.47M | { | 2836 | 8.47M | return t.data(); | 2837 | 8.47M | } |
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>) Line | Count | Source | 2835 | 6.48M | { | 2836 | 6.48M | return t.data(); | 2837 | 6.48M | } |
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>) Line | Count | Source | 2835 | 1.44M | { | 2836 | 1.44M | return t.data(); | 2837 | 1.44M | } |
|
2838 | | |
2839 | | template <typename T> |
2840 | | static constexpr auto impl(T&& t, priority_tag<0>) noexcept( |
2841 | | noexcept(scn::ranges::begin(SCN_FWD(t)))) |
2842 | | -> std::enable_if_t< |
2843 | | is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>, |
2844 | | decltype(scn::ranges::begin(SCN_FWD(t)))> |
2845 | 0 | { |
2846 | 0 | return scn::ranges::begin(SCN_FWD(t)); |
2847 | 0 | } Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v3::detail::priority_tag<0ul>)Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v3::detail::priority_tag<0ul>) |
2848 | | |
2849 | | public: |
2850 | | template <typename T> |
2851 | | constexpr auto operator()(T&& t) const |
2852 | | noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{}))) |
2853 | | -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{})) |
2854 | 27.6M | { |
2855 | 27.6M | return fn::impl(SCN_FWD(t), priority_tag<1>{}); |
2856 | 27.6M | } _ZNK3scn2v36ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_ Line | Count | Source | 2854 | 4.41M | { | 2855 | 4.41M | return fn::impl(SCN_FWD(t), priority_tag<1>{}); | 2856 | 4.41M | } |
_ZNK3scn2v36ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_ Line | Count | Source | 2854 | 6.87M | { | 2855 | 6.87M | return fn::impl(SCN_FWD(t), priority_tag<1>{}); | 2856 | 6.87M | } |
_ZNK3scn2v36ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_ Line | Count | Source | 2854 | 8.47M | { | 2855 | 8.47M | return fn::impl(SCN_FWD(t), priority_tag<1>{}); | 2856 | 8.47M | } |
_ZNK3scn2v36ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_ Line | Count | Source | 2854 | 6.48M | { | 2855 | 6.48M | return fn::impl(SCN_FWD(t), priority_tag<1>{}); | 2856 | 6.48M | } |
_ZNK3scn2v36ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_ Line | Count | Source | 2854 | 1.44M | { | 2855 | 1.44M | return fn::impl(SCN_FWD(t), priority_tag<1>{}); | 2856 | 1.44M | } |
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_ Unexecuted instantiation: _ZNK3scn2v36ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_ |
2857 | | }; |
2858 | | |
2859 | | } // namespace data_ |
2860 | | } // namespace detail |
2861 | | |
2862 | | inline constexpr auto data = detail::data_::fn{}; |
2863 | | |
2864 | | template <typename T> |
2865 | | inline constexpr bool disable_sized_range = false; |
2866 | | |
2867 | | namespace detail::size_ { |
2868 | | |
2869 | | template <typename T> |
2870 | | void size(T&&) = delete; |
2871 | | template <typename T> |
2872 | | void size(T&) = delete; |
2873 | | |
2874 | | struct fn { |
2875 | | private: |
2876 | | template <typename T, std::size_t N> |
2877 | | static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept |
2878 | | { |
2879 | | return N; |
2880 | | } |
2881 | | |
2882 | | template <typename T, std::size_t N> |
2883 | | static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept |
2884 | | { |
2885 | | return N; |
2886 | | } |
2887 | | |
2888 | | template <typename T, |
2889 | | typename I = decltype(decay_copy(std::declval<T>().size()))> |
2890 | | static constexpr auto impl(T&& t, priority_tag<2>) noexcept( |
2891 | | noexcept(decay_copy(SCN_FWD(t).size()))) |
2892 | | -> std::enable_if_t<std::is_integral_v<I> && |
2893 | | !disable_sized_range<remove_cvref_t<T>>, |
2894 | | I> |
2895 | 16.3M | { |
2896 | 16.3M | return decay_copy(SCN_FWD(t).size()); |
2897 | 16.3M | } _ZN3scn2v36ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE Line | Count | Source | 2895 | 4.41M | { | 2896 | 4.41M | return decay_copy(SCN_FWD(t).size()); | 2897 | 4.41M | } |
_ZN3scn2v36ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE Line | Count | Source | 2895 | 6.87M | { | 2896 | 6.87M | return decay_copy(SCN_FWD(t).size()); | 2897 | 6.87M | } |
_ZN3scn2v36ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE Line | Count | Source | 2895 | 4.40M | { | 2896 | 4.40M | return decay_copy(SCN_FWD(t).size()); | 2897 | 4.40M | } |
_ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE Line | Count | Source | 2895 | 52 | { | 2896 | 52 | return decay_copy(SCN_FWD(t).size()); | 2897 | 52 | } |
_ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE Line | Count | Source | 2895 | 611k | { | 2896 | 611k | return decay_copy(SCN_FWD(t).size()); | 2897 | 611k | } |
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE |
2898 | | |
2899 | | template <typename T, |
2900 | | typename I = decltype(decay_copy(size(std::declval<T>())))> |
2901 | | static constexpr auto impl(T&& t, priority_tag<1>) noexcept( |
2902 | | noexcept(decay_copy(size(SCN_FWD(t))))) |
2903 | | -> std::enable_if_t<std::is_integral_v<I> && |
2904 | | !disable_sized_range<remove_cvref_t<T>>, |
2905 | | I> |
2906 | | { |
2907 | | return decay_copy(size(SCN_FWD(t))); |
2908 | | } |
2909 | | |
2910 | | template <typename T, |
2911 | | typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))), |
2912 | | typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))), |
2913 | | typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) - |
2914 | | SCN_DECLVAL(I)))> |
2915 | | static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept( |
2916 | | static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t)))) |
2917 | | -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> && |
2918 | | sized_sentinel_for<S, I> && forward_iterator<I>, |
2919 | | D> |
2920 | | { |
2921 | | return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t)); |
2922 | | } |
2923 | | |
2924 | | public: |
2925 | | template <typename T> |
2926 | | constexpr auto operator()(T&& t) const |
2927 | | noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{}))) |
2928 | | -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{})) |
2929 | 16.3M | { |
2930 | 16.3M | return fn::impl(std::forward<T>(t), priority_tag<3>{}); |
2931 | 16.3M | } _ZNK3scn2v36ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_ Line | Count | Source | 2929 | 4.41M | { | 2930 | 4.41M | return fn::impl(std::forward<T>(t), priority_tag<3>{}); | 2931 | 4.41M | } |
_ZNK3scn2v36ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_ Line | Count | Source | 2929 | 6.87M | { | 2930 | 6.87M | return fn::impl(std::forward<T>(t), priority_tag<3>{}); | 2931 | 6.87M | } |
_ZNK3scn2v36ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_ Line | Count | Source | 2929 | 4.40M | { | 2930 | 4.40M | return fn::impl(std::forward<T>(t), priority_tag<3>{}); | 2931 | 4.40M | } |
_ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_ Line | Count | Source | 2929 | 52 | { | 2930 | 52 | return fn::impl(std::forward<T>(t), priority_tag<3>{}); | 2931 | 52 | } |
_ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_ Line | Count | Source | 2929 | 611k | { | 2930 | 611k | return fn::impl(std::forward<T>(t), priority_tag<3>{}); | 2931 | 611k | } |
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_ Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_ Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_ |
2932 | | }; |
2933 | | |
2934 | | } // namespace detail::size_ |
2935 | | |
2936 | | inline constexpr auto size = detail::size_::fn{}; |
2937 | | |
2938 | | namespace detail { |
2939 | | namespace ssize_ { |
2940 | | struct fn { |
2941 | | private: |
2942 | | template <typename T> |
2943 | | using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) < |
2944 | | sizeof(std::ptrdiff_t), |
2945 | | std::ptrdiff_t, |
2946 | | range_difference_t<T>>; |
2947 | | |
2948 | | template <typename T> |
2949 | | static constexpr auto impl(T&& t) noexcept( |
2950 | | noexcept(ranges::size(std::forward<T>(t)))) |
2951 | | -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>()) |
2952 | 5.01M | { |
2953 | 5.01M | return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t))); |
2954 | 5.01M | } _ZN3scn2v36ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_ Line | Count | Source | 2952 | 4.40M | { | 2953 | 4.40M | return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t))); | 2954 | 4.40M | } |
_ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_ Line | Count | Source | 2952 | 52 | { | 2953 | 52 | return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t))); | 2954 | 52 | } |
_ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_ Line | Count | Source | 2952 | 611k | { | 2953 | 611k | return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t))); | 2954 | 611k | } |
Unexecuted instantiation: _ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_ |
2955 | | |
2956 | | public: |
2957 | | template <typename T> |
2958 | | constexpr auto operator()(T&& t) const |
2959 | | noexcept(noexcept(fn::impl(std::forward<T>(t)))) |
2960 | | -> decltype(fn::impl(std::forward<T>(t))) |
2961 | 5.01M | { |
2962 | 5.01M | return fn::impl(std::forward<T>(t)); |
2963 | 5.01M | } _ZNK3scn2v36ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_ Line | Count | Source | 2961 | 4.40M | { | 2962 | 4.40M | return fn::impl(std::forward<T>(t)); | 2963 | 4.40M | } |
_ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_ Line | Count | Source | 2961 | 52 | { | 2962 | 52 | return fn::impl(std::forward<T>(t)); | 2963 | 52 | } |
_ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_ Line | Count | Source | 2961 | 611k | { | 2962 | 611k | return fn::impl(std::forward<T>(t)); | 2963 | 611k | } |
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_ |
2964 | | }; |
2965 | | } // namespace ssize_ |
2966 | | } // namespace detail |
2967 | | |
2968 | | inline constexpr auto ssize = detail::ssize_::fn{}; |
2969 | | |
2970 | | namespace detail::empty_ { |
2971 | | struct fn { |
2972 | | private: |
2973 | | template <typename T> |
2974 | | static constexpr auto impl(T&& t, priority_tag<2>) noexcept( |
2975 | | noexcept(static_cast<bool>(SCN_FWD(t).empty()))) |
2976 | | -> decltype(static_cast<bool>(SCN_FWD(t).empty())) |
2977 | | { |
2978 | | return static_cast<bool>(SCN_FWD(t).empty()); |
2979 | | } |
2980 | | |
2981 | | template <typename T> |
2982 | | static constexpr auto impl(T&& t, priority_tag<1>) noexcept( |
2983 | | noexcept(ranges::size(SCN_FWD(t)) == 0)) |
2984 | | -> decltype(ranges::size(SCN_FWD(t)) == 0) |
2985 | | { |
2986 | | return ranges::size(SCN_FWD(t)) == 0; |
2987 | | } |
2988 | | |
2989 | | template <typename T, |
2990 | | typename I = decltype(ranges::begin(std::declval<T>()))> |
2991 | | static constexpr auto impl(T&& t, priority_tag<0>) noexcept( |
2992 | | noexcept(ranges::begin(t) == ranges::end(t))) |
2993 | | -> std::enable_if_t<forward_iterator<I>, |
2994 | | decltype(ranges::begin(t) == ranges::end(t))> |
2995 | | { |
2996 | | return ranges::begin(t) == ranges::end(t); |
2997 | | } |
2998 | | |
2999 | | public: |
3000 | | template <typename T> |
3001 | | constexpr auto operator()(T&& t) const |
3002 | | noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{}))) |
3003 | | -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{})) |
3004 | | { |
3005 | | return fn::impl(SCN_FWD(t), priority_tag<2>{}); |
3006 | | } |
3007 | | }; |
3008 | | } // namespace detail::empty_ |
3009 | | |
3010 | | inline constexpr auto empty = detail::empty_::fn{}; |
3011 | | |
3012 | | template <typename T> |
3013 | | inline constexpr bool borrowed_range = |
3014 | | range<T> && (std::is_lvalue_reference_v<T> || |
3015 | | enable_borrowed_range<detail::remove_cvref_t<T>>); |
3016 | | |
3017 | | namespace detail { |
3018 | | struct sized_range_concept { |
3019 | | template <typename T> |
3020 | | auto requires_(T& t) -> decltype(ranges::size(t)); |
3021 | | }; |
3022 | | } // namespace detail |
3023 | | |
3024 | | template <typename T> |
3025 | | inline constexpr bool sized_range = |
3026 | | range<T> && !disable_sized_range<detail::remove_cvref_t<T>> && |
3027 | | detail::requires_<detail::sized_range_concept, T>; |
3028 | | |
3029 | | namespace detail { |
3030 | | struct output_range_concept { |
3031 | | template <typename, typename> |
3032 | | static auto test(long) -> std::false_type; |
3033 | | |
3034 | | template <typename R, typename T> |
3035 | | static auto test(int) |
3036 | | -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>, |
3037 | | std::true_type>; |
3038 | | }; |
3039 | | } // namespace detail |
3040 | | |
3041 | | template <typename R, typename T> |
3042 | | inline constexpr bool output_range = |
3043 | | decltype(detail::output_range_concept::test<R, T>(0))::value; |
3044 | | |
3045 | | namespace detail { |
3046 | | struct input_range_concept { |
3047 | | template <typename> |
3048 | | static auto test(long) -> std::false_type; |
3049 | | |
3050 | | template <typename T> |
3051 | | static auto test(int) |
3052 | | -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>, |
3053 | | std::true_type>; |
3054 | | }; |
3055 | | } // namespace detail |
3056 | | |
3057 | | template <typename T> |
3058 | | inline constexpr bool input_range = |
3059 | | decltype(detail::input_range_concept::test<T>(0))::value; |
3060 | | |
3061 | | namespace detail { |
3062 | | struct forward_range_concept { |
3063 | | template <typename> |
3064 | | static auto test(long) -> std::false_type; |
3065 | | |
3066 | | template <typename T> |
3067 | | static auto test(int) |
3068 | | -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>, |
3069 | | std::true_type>; |
3070 | | }; |
3071 | | } // namespace detail |
3072 | | |
3073 | | template <typename T> |
3074 | | inline constexpr bool forward_range = |
3075 | | decltype(detail::forward_range_concept::test<T>(0))::value; |
3076 | | |
3077 | | namespace detail { |
3078 | | struct bidirectional_range_concept { |
3079 | | template <typename> |
3080 | | static auto test(long) -> std::false_type; |
3081 | | |
3082 | | template <typename T> |
3083 | | static auto test(int) |
3084 | | -> std::enable_if_t<forward_range<T> && |
3085 | | bidirectional_iterator<iterator_t<T>>, |
3086 | | std::true_type>; |
3087 | | }; |
3088 | | } // namespace detail |
3089 | | |
3090 | | template <typename T> |
3091 | | inline constexpr bool bidirectional_range = |
3092 | | decltype(detail::bidirectional_range_concept::test<T>(0))::value; |
3093 | | |
3094 | | namespace detail { |
3095 | | struct random_access_range_concept { |
3096 | | template <typename> |
3097 | | static auto test(long) -> std::false_type; |
3098 | | |
3099 | | template <typename T> |
3100 | | static auto test(int) |
3101 | | -> std::enable_if_t<bidirectional_range<T> && |
3102 | | random_access_iterator<iterator_t<T>>, |
3103 | | std::true_type>; |
3104 | | }; |
3105 | | } // namespace detail |
3106 | | |
3107 | | template <typename T> |
3108 | | inline constexpr bool random_access_range = |
3109 | | decltype(detail::random_access_range_concept::test<T>(0))::value; |
3110 | | |
3111 | | namespace detail { |
3112 | | // FIXME: Not to spec |
3113 | | // We only require random_access_iterator, not contiguous_iterator |
3114 | | // This is so that vector::iterator, string::iterator etc can model |
3115 | | // contiguous_range. |
3116 | | // If we do range-v3-style deep integration with iterator_traits then |
3117 | | // this could be fixed |
3118 | | struct contiguous_range_concept { |
3119 | | template <typename> |
3120 | | static auto test(long) -> std::false_type; |
3121 | | |
3122 | | template <typename T> |
3123 | | static auto test(int) -> std::enable_if_t< |
3124 | | random_access_range<T> && /* contiguous_iterator<iterator_t<T>> |
3125 | | * && |
3126 | | */ |
3127 | | detail::requires_<contiguous_range_concept, T>, |
3128 | | std::true_type>; |
3129 | | |
3130 | | template <typename T> |
3131 | | auto requires_(T& t) |
3132 | | -> decltype(requires_expr<std::is_same_v< |
3133 | | decltype(ranges::data(t)), |
3134 | | std::add_pointer_t<range_reference_t<T>>>>{}); |
3135 | | }; |
3136 | | } // namespace detail |
3137 | | |
3138 | | template <typename R> |
3139 | | inline constexpr bool contiguous_range = |
3140 | | decltype(detail::contiguous_range_concept::test<R>(0))::value; |
3141 | | |
3142 | | namespace detail { |
3143 | | struct common_range_concept { |
3144 | | template <typename> |
3145 | | static auto test(long) -> std::false_type; |
3146 | | |
3147 | | template <typename T> |
3148 | | static auto test(int) |
3149 | | -> std::enable_if_t<range<T> && |
3150 | | std::is_same_v<iterator_t<T>, sentinel_t<T>>, |
3151 | | std::true_type>; |
3152 | | }; |
3153 | | } // namespace detail |
3154 | | |
3155 | | template <typename T> |
3156 | | inline constexpr bool common_range = |
3157 | | decltype(detail::common_range_concept::test<T>(0))::value; |
3158 | | |
3159 | | struct dangling { |
3160 | | constexpr dangling() noexcept = default; |
3161 | | |
3162 | | template <typename... Args> |
3163 | | constexpr dangling(Args&&...) noexcept |
3164 | | { |
3165 | | } |
3166 | | }; |
3167 | | |
3168 | | template <typename R> |
3169 | | using borrowed_iterator_t = |
3170 | | std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>; |
3171 | | |
3172 | | template <typename D> |
3173 | | class view_interface { |
3174 | | static_assert(std::is_class<D>::value, ""); |
3175 | | static_assert(std::is_same_v<D, std::remove_cv_t<D>>, ""); |
3176 | | |
3177 | | private: |
3178 | | constexpr D& derived() noexcept |
3179 | 21.0M | { |
3180 | 21.0M | return static_cast<D&>(*this); |
3181 | 21.0M | } scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() Line | Count | Source | 3179 | 14.5M | { | 3180 | 14.5M | return static_cast<D&>(*this); | 3181 | 14.5M | } |
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() Line | Count | Source | 3179 | 6.50M | { | 3180 | 6.50M | return static_cast<D&>(*this); | 3181 | 6.50M | } |
|
3182 | | |
3183 | | constexpr const D& derived() const noexcept |
3184 | 11.2M | { |
3185 | 11.2M | return static_cast<const D&>(*this); |
3186 | 11.2M | } scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const Line | Count | Source | 3184 | 4.41M | { | 3185 | 4.41M | return static_cast<const D&>(*this); | 3186 | 4.41M | } |
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const Line | Count | Source | 3184 | 6.87M | { | 3185 | 6.87M | return static_cast<const D&>(*this); | 3186 | 6.87M | } |
|
3187 | | |
3188 | | public: |
3189 | | template <typename R = D> |
3190 | | [[nodiscard]] constexpr auto empty() |
3191 | | -> std::enable_if_t<forward_range<R>, bool> |
3192 | | { |
3193 | | return ranges::begin(derived()) == ranges::end(derived()); |
3194 | | } |
3195 | | |
3196 | | template <typename R = D> |
3197 | | [[nodiscard]] constexpr auto empty() const |
3198 | | -> std::enable_if_t<forward_range<const R>, bool> |
3199 | | { |
3200 | | return ranges::begin(derived()) == ranges::end(derived()); |
3201 | | } |
3202 | | |
3203 | | template <typename R = D, |
3204 | | typename = decltype(ranges::empty(std::declval<R&>()))> |
3205 | | constexpr explicit operator bool() |
3206 | | { |
3207 | | return !ranges::empty(derived()); |
3208 | | } |
3209 | | |
3210 | | template <typename R = D, |
3211 | | typename = decltype(ranges::empty(std::declval<const R&>()))> |
3212 | | constexpr explicit operator bool() const |
3213 | | { |
3214 | | return !ranges::empty(derived()); |
3215 | | } |
3216 | | |
3217 | | template <typename R = D, |
3218 | | typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>> |
3219 | | constexpr auto data() |
3220 | 21.0M | { |
3221 | 21.0M | return detail::to_address(ranges::begin(derived())); |
3222 | 21.0M | } auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>() Line | Count | Source | 3220 | 14.5M | { | 3221 | 14.5M | return detail::to_address(ranges::begin(derived())); | 3222 | 14.5M | } |
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() Line | Count | Source | 3220 | 6.50M | { | 3221 | 6.50M | return detail::to_address(ranges::begin(derived())); | 3222 | 6.50M | } |
|
3223 | | |
3224 | | template <typename R = D, |
3225 | | typename = std::enable_if_t< |
3226 | | range<const R> && contiguous_iterator<iterator_t<const R>>>> |
3227 | | constexpr auto data() const |
3228 | 11.2M | { |
3229 | 11.2M | return detail::to_address(ranges::begin(derived())); |
3230 | 11.2M | } auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const Line | Count | Source | 3228 | 4.41M | { | 3229 | 4.41M | return detail::to_address(ranges::begin(derived())); | 3230 | 4.41M | } |
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const Line | Count | Source | 3228 | 6.87M | { | 3229 | 6.87M | return detail::to_address(ranges::begin(derived())); | 3230 | 6.87M | } |
|
3231 | | |
3232 | | template <typename R = D, |
3233 | | typename = std::enable_if_t< |
3234 | | forward_range<R> && |
3235 | | sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>> |
3236 | | constexpr auto size() |
3237 | | { |
3238 | | return ranges::end(derived()) - ranges::begin(derived()); |
3239 | | } |
3240 | | |
3241 | | template <typename R = D, |
3242 | | typename = std::enable_if_t< |
3243 | | forward_range<const R> && |
3244 | | sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>> |
3245 | | constexpr auto size() const |
3246 | | { |
3247 | | return ranges::end(derived()) - ranges::begin(derived()); |
3248 | | } |
3249 | | |
3250 | | #if 0 |
3251 | | template <typename R = D, typename = std::enable_if_t<forward_range<R>>> |
3252 | | constexpr decltype(auto) front() |
3253 | | { |
3254 | | return *ranges::begin(derived()); |
3255 | | } |
3256 | | |
3257 | | template <typename R = D, |
3258 | | typename = std::enable_if_t<forward_range<const R>>> |
3259 | | constexpr decltype(auto) front() const |
3260 | | { |
3261 | | return *ranges::begin(derived()); |
3262 | | } |
3263 | | |
3264 | | template < |
3265 | | typename R = D, |
3266 | | typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>> |
3267 | | constexpr decltype(auto) back() |
3268 | | { |
3269 | | return *ranges::prev(ranges::end(derived())); |
3270 | | } |
3271 | | |
3272 | | template <typename R = D, |
3273 | | typename = std::enable_if_t<bidirectional_range<const R> && |
3274 | | common_range<const R>>> |
3275 | | constexpr decltype(auto) back() const |
3276 | | { |
3277 | | return *ranges::prev(ranges::end(derived())); |
3278 | | } |
3279 | | |
3280 | | template <typename R = D, |
3281 | | typename = std::enable_if_t<random_access_range<R>>> |
3282 | | constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n) |
3283 | | { |
3284 | | return ranges::begin(derived())[n]; |
3285 | | } |
3286 | | #endif |
3287 | | |
3288 | | template <typename R = D, |
3289 | | typename = std::enable_if_t<random_access_range<const R>>> |
3290 | | constexpr decltype(auto) operator[]( |
3291 | | iter_difference_t<iterator_t<const R>> n) const |
3292 | | { |
3293 | | return ranges::begin(derived())[n]; |
3294 | | } |
3295 | | }; |
3296 | | |
3297 | | namespace detail::subrange_ { |
3298 | | |
3299 | | template <typename I, typename S = I> |
3300 | | class subrange : public view_interface<subrange<I, S>> { |
3301 | | static_assert(input_or_output_iterator<I>); |
3302 | | static_assert(sentinel_for<S, I>); |
3303 | | |
3304 | | public: |
3305 | | subrange() = default; |
3306 | | |
3307 | | template <typename I_, |
3308 | | std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr> |
3309 | | constexpr subrange(I_ i, S s) |
3310 | 387M | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) |
3311 | 387M | { |
3312 | 387M | } _ZN3scn2v36ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS7_PKS8_lLl4096EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_ Line | Count | Source | 3310 | 8.49M | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 8.49M | { | 3312 | 8.49M | } |
_ZN3scn2v36ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS7_PKS8_lLl1024EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_ Line | Count | Source | 3310 | 7.44M | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 7.44M | { | 3312 | 7.44M | } |
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_ Line | Count | Source | 3310 | 43.8M | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 43.8M | { | 3312 | 43.8M | } |
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_ Line | Count | Source | 3310 | 91.0M | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 91.0M | { | 3312 | 91.0M | } |
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_ Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_ Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_ _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_ Line | Count | Source | 3310 | 3.53M | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 3.53M | { | 3312 | 3.53M | } |
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_ Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_ _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_ Line | Count | Source | 3310 | 1.78k | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 1.78k | { | 3312 | 1.78k | } |
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_ Line | Count | Source | 3310 | 62.0k | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 62.0k | { | 3312 | 62.0k | } |
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_ Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_ Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_ _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_ Line | Count | Source | 3310 | 3.32M | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 3.32M | { | 3312 | 3.32M | } |
Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_ Unexecuted instantiation: _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_ _ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_ Line | Count | Source | 3310 | 570 | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 570 | { | 3312 | 570 | } |
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_ Line | Count | Source | 3310 | 18.4k | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 18.4k | { | 3312 | 18.4k | } |
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_ Line | Count | Source | 3310 | 5.60k | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 5.60k | { | 3312 | 5.60k | } |
_ZN3scn2v36ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_ Line | Count | Source | 3310 | 2.54k | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 2.54k | { | 3312 | 2.54k | } |
_ZN3scn2v36ranges6detail9subrange_8subrangeIPKcS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_ Line | Count | Source | 3310 | 39.6M | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 39.6M | { | 3312 | 39.6M | } |
_ZN3scn2v36ranges6detail9subrange_8subrangeIPKwS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_ Line | Count | Source | 3310 | 190M | : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s)) | 3311 | 190M | { | 3312 | 190M | } |
|
3313 | | |
3314 | | template < |
3315 | | typename R, |
3316 | | std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> && |
3317 | | std::is_convertible_v<iterator_t<R>, I> && |
3318 | | std::is_convertible_v<sentinel_t<R>, S>>* = nullptr> |
3319 | | constexpr subrange(R&& r) |
3320 | | : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r)) |
3321 | | { |
3322 | | } |
3323 | | |
3324 | | constexpr I begin() const |
3325 | 1.24G | { |
3326 | 1.24G | return m_iterator; |
3327 | 1.24G | } scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const Line | Count | Source | 3325 | 85.5M | { | 3326 | 85.5M | return m_iterator; | 3327 | 85.5M | } |
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::begin() const Line | Count | Source | 3325 | 12.5M | { | 3326 | 12.5M | return m_iterator; | 3327 | 12.5M | } |
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const Line | Count | Source | 3325 | 603M | { | 3326 | 603M | return m_iterator; | 3327 | 603M | } |
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::begin() const Line | Count | Source | 3325 | 10.7M | { | 3326 | 10.7M | return m_iterator; | 3327 | 10.7M | } |
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::begin() const Line | Count | Source | 3325 | 154M | { | 3326 | 154M | return m_iterator; | 3327 | 154M | } |
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::begin() const Line | Count | Source | 3325 | 370M | { | 3326 | 370M | return m_iterator; | 3327 | 370M | } |
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::begin() const Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::begin() const Line | Count | Source | 3325 | 6.22M | { | 3326 | 6.22M | return m_iterator; | 3327 | 6.22M | } |
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::begin() const scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const Line | Count | Source | 3325 | 1.78k | { | 3326 | 1.78k | return m_iterator; | 3327 | 1.78k | } |
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const Line | Count | Source | 3325 | 156k | { | 3326 | 156k | return m_iterator; | 3327 | 156k | } |
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::begin() const Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const Line | Count | Source | 3325 | 3.38M | { | 3326 | 3.38M | return m_iterator; | 3327 | 3.38M | } |
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::begin() const scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const Line | Count | Source | 3325 | 570 | { | 3326 | 570 | return m_iterator; | 3327 | 570 | } |
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const Line | Count | Source | 3325 | 54.0k | { | 3326 | 54.0k | return m_iterator; | 3327 | 54.0k | } |
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::begin() const Line | Count | Source | 3325 | 12.0k | { | 3326 | 12.0k | return m_iterator; | 3327 | 12.0k | } |
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::begin() const Line | Count | Source | 3325 | 5.08k | { | 3326 | 5.08k | return m_iterator; | 3327 | 5.08k | } |
|
3328 | | constexpr S end() const |
3329 | 3.29G | { |
3330 | 3.29G | return m_sentinel; |
3331 | 3.29G | } scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::end() const Line | Count | Source | 3329 | 54.0M | { | 3330 | 54.0M | return m_sentinel; | 3331 | 54.0M | } |
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::end() const Line | Count | Source | 3329 | 122M | { | 3330 | 122M | return m_sentinel; | 3331 | 122M | } |
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const Line | Count | Source | 3329 | 2.13G | { | 3330 | 2.13G | return m_sentinel; | 3331 | 2.13G | } |
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::end() const Line | Count | Source | 3329 | 525M | { | 3330 | 525M | return m_sentinel; | 3331 | 525M | } |
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::end() const Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::end() const Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::end() const Line | Count | Source | 3329 | 110M | { | 3330 | 110M | return m_sentinel; | 3331 | 110M | } |
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::end() const Line | Count | Source | 3329 | 6.22M | { | 3330 | 6.22M | return m_sentinel; | 3331 | 6.22M | } |
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::end() const scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const Line | Count | Source | 3329 | 1.78k | { | 3330 | 1.78k | return m_sentinel; | 3331 | 1.78k | } |
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const Line | Count | Source | 3329 | 110k | { | 3330 | 110k | return m_sentinel; | 3331 | 110k | } |
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::end() const Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::end() const Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::end() const Line | Count | Source | 3329 | 339M | { | 3330 | 339M | return m_sentinel; | 3331 | 339M | } |
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const Line | Count | Source | 3329 | 3.38M | { | 3330 | 3.38M | return m_sentinel; | 3331 | 3.38M | } |
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::end() const scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const Line | Count | Source | 3329 | 570 | { | 3330 | 570 | return m_sentinel; | 3331 | 570 | } |
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const Line | Count | Source | 3329 | 49.8k | { | 3330 | 49.8k | return m_sentinel; | 3331 | 49.8k | } |
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::end() const Line | Count | Source | 3329 | 6.93k | { | 3330 | 6.93k | return m_sentinel; | 3331 | 6.93k | } |
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::end() const Line | Count | Source | 3329 | 2.54k | { | 3330 | 2.54k | return m_sentinel; | 3331 | 2.54k | } |
|
3332 | | |
3333 | | SCN_NODISCARD constexpr bool empty() const |
3334 | | { |
3335 | | return m_iterator == m_sentinel; |
3336 | | } |
3337 | | |
3338 | | template <typename I_ = I, |
3339 | | std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr> |
3340 | | constexpr std::size_t size() const |
3341 | 35.0M | { |
3342 | 35.0M | return static_cast<size_t>(m_sentinel - m_iterator); |
3343 | 35.0M | } _ZNK3scn2v36ranges6detail9subrange_8subrangeIPKcS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv Line | Count | Source | 3341 | 19.0M | { | 3342 | 19.0M | return static_cast<size_t>(m_sentinel - m_iterator); | 3343 | 19.0M | } |
_ZNK3scn2v36ranges6detail9subrange_8subrangeIPKwS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv Line | Count | Source | 3341 | 15.9M | { | 3342 | 15.9M | return static_cast<size_t>(m_sentinel - m_iterator); | 3343 | 15.9M | } |
|
3344 | | |
3345 | | private: |
3346 | | SCN_NO_UNIQUE_ADDRESS I m_iterator{}; |
3347 | | SCN_NO_UNIQUE_ADDRESS S m_sentinel{}; |
3348 | | }; |
3349 | | |
3350 | | template <typename I, |
3351 | | typename S, |
3352 | | std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* = |
3353 | | nullptr> |
3354 | | subrange(I, S) -> subrange<I, S>; |
3355 | | |
3356 | | template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr> |
3357 | | subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>; |
3358 | | |
3359 | | } // namespace detail::subrange_ |
3360 | | |
3361 | | using detail::subrange_::subrange; |
3362 | | |
3363 | | template <typename I, typename S> |
3364 | | inline constexpr bool enable_borrowed_range<subrange<I, S>> = true; |
3365 | | |
3366 | | struct default_sentinel_t {}; |
3367 | | inline constexpr default_sentinel_t default_sentinel{}; |
3368 | | |
3369 | | } // namespace ranges |
3370 | | |
3371 | | namespace detail { |
3372 | | |
3373 | | namespace char_t_fn { |
3374 | | template <typename T, typename = typename T::value_type> |
3375 | | constexpr auto impl_nonarray(priority_tag<2>) |
3376 | 0 | { |
3377 | 0 | return tag_type<typename T::value_type>{}; |
3378 | 0 | } Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, char>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >, char>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, char>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, wchar_t>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >, wchar_t>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, wchar_t>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >, char>(scn::v3::detail::priority_tag<2ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, wchar_t>(scn::v3::detail::priority_tag<2ul>) |
3379 | | template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())> |
3380 | | constexpr auto impl_nonarray(priority_tag<1>) |
3381 | 0 | { |
3382 | 0 | return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{}; |
3383 | 0 | } Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>) Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>) |
3384 | | template <typename T> |
3385 | | constexpr auto impl_nonarray(priority_tag<0>) |
3386 | | { |
3387 | | return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{}; |
3388 | | } |
3389 | | |
3390 | | template <typename T, |
3391 | | typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>> |
3392 | | constexpr auto impl() |
3393 | 0 | { |
3394 | 0 | using T_nocvref = remove_cvref_t<T>; |
3395 | 0 | if constexpr (std::is_array_v<T_nocvref>) { |
3396 | 0 | return tag_type<std::remove_all_extents_t<T_nocvref>>{}; |
3397 | 0 | } |
3398 | 0 | else { |
3399 | 0 | return impl_nonarray<T_nocvref>(priority_tag<2>{}); |
3400 | 0 | } |
3401 | 0 | } Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void>() Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void>() |
3402 | | |
3403 | | template <typename Range> |
3404 | | using result = decltype(impl<Range>()); |
3405 | | } // namespace char_t_fn |
3406 | | |
3407 | | template <typename Range> |
3408 | | using char_t = typename char_t_fn::result<Range>::type; |
3409 | | |
3410 | | template <typename Range, typename = void> |
3411 | | inline constexpr bool is_file_or_narrow_range_impl = false; |
3412 | | template <> |
3413 | | inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true; |
3414 | | template <typename Range> |
3415 | | inline constexpr bool |
3416 | | is_file_or_narrow_range_impl<Range, |
3417 | | std::enable_if_t<ranges::range<Range>>> = |
3418 | | std::is_same_v<char_t<Range>, char>; |
3419 | | |
3420 | | template <typename Range> |
3421 | | inline constexpr bool is_file_or_narrow_range = |
3422 | | is_file_or_narrow_range_impl<remove_cvref_t<Range>>; |
3423 | | |
3424 | | template <typename Range, typename = void> |
3425 | | inline constexpr bool is_wide_range = false; |
3426 | | template <typename Range> |
3427 | | inline constexpr bool |
3428 | | is_wide_range<Range, |
3429 | | std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> = |
3430 | | std::is_same_v<char_t<Range>, wchar_t>; |
3431 | | |
3432 | | template <typename R, bool Borrowed = ranges::borrowed_range<R>> |
3433 | | struct borrowed_tail_subrange { |
3434 | | using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>; |
3435 | | }; |
3436 | | template <typename R> |
3437 | | struct borrowed_tail_subrange<R, false> { |
3438 | | using type = ranges::dangling; |
3439 | | }; |
3440 | | |
3441 | | /// Equivalent to |
3442 | | /// `ranges::subrange<ranges::iterator_t<R>, |
3443 | | /// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and |
3444 | | /// `ranges::dangling` otherwise. |
3445 | | /// |
3446 | | /// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves |
3447 | | /// the range sentinel. |
3448 | | template <typename R> |
3449 | | using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type; |
3450 | | |
3451 | | } // namespace detail |
3452 | | |
3453 | | namespace ranges { |
3454 | | template <typename CharT, typename Traits> |
3455 | | inline constexpr bool |
3456 | | enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true; |
3457 | | } |
3458 | | |
3459 | | ///////////////////////////////////////////////////////////////// |
3460 | | // Small generic algorithms |
3461 | | ///////////////////////////////////////////////////////////////// |
3462 | | |
3463 | | namespace detail { |
3464 | | |
3465 | | /** |
3466 | | * Implementation of `std::min_element` without including `<algorithm>` |
3467 | | */ |
3468 | | template <typename It> |
3469 | | constexpr It min_element(It first, It last) |
3470 | | { |
3471 | | if (first == last) { |
3472 | | return last; |
3473 | | } |
3474 | | |
3475 | | It smallest = first; |
3476 | | ++first; |
3477 | | for (; first != last; ++first) { |
3478 | | if (*first < *smallest) { |
3479 | | smallest = first; |
3480 | | } |
3481 | | } |
3482 | | return smallest; |
3483 | | } |
3484 | | |
3485 | | /** |
3486 | | * Implementation of `std::min` without including `<algorithm>` |
3487 | | */ |
3488 | | template <typename T> |
3489 | | constexpr T min(T a, T b) noexcept |
3490 | | { |
3491 | | return (b < a) ? b : a; |
3492 | | } |
3493 | | |
3494 | | template <bool IsConstexpr, typename T, typename Ptr = const T*> |
3495 | | constexpr Ptr find(Ptr first, Ptr last, T value) |
3496 | | { |
3497 | | for (; first != last; ++first) { |
3498 | | if (*first == value) { |
3499 | | return first; |
3500 | | } |
3501 | | } |
3502 | | return last; |
3503 | | } |
3504 | | |
3505 | | template <> |
3506 | | inline const char* find<false, char>(const char* first, |
3507 | | const char* last, |
3508 | | char value) |
3509 | 0 | { |
3510 | 0 | auto ptr = static_cast<const char*>( |
3511 | 0 | std::memchr(first, value, static_cast<size_t>(last - first))); |
3512 | 0 | return ptr != nullptr ? ptr : last; |
3513 | 0 | } |
3514 | | |
3515 | | } // namespace detail |
3516 | | |
3517 | | ///////////////////////////////////////////////////////////////// |
3518 | | // Errors |
3519 | | ///////////////////////////////////////////////////////////////// |
3520 | | |
3521 | | /** |
3522 | | * Error class. |
3523 | | * Used as a return value for functions without a success value. |
3524 | | * |
3525 | | * \ingroup result |
3526 | | */ |
3527 | | class SCN_TRIVIAL_ABI scan_error { |
3528 | | public: |
3529 | | /// Error code |
3530 | | enum code { |
3531 | | /// No error |
3532 | | good = 0, |
3533 | | /// EOF |
3534 | | end_of_range, |
3535 | | /// Format string was invalid |
3536 | | invalid_format_string, |
3537 | | /// Scanned value was invalid for given type. |
3538 | | /// e.g. a period '.' when scanning for an int |
3539 | | invalid_scanned_value, |
3540 | | /// Scanned value was out of range for the desired type. |
3541 | | /// (e.g. `>2^32` for an `uint32_t`) |
3542 | | value_out_of_range, |
3543 | | |
3544 | | max_error |
3545 | | }; |
3546 | | |
3547 | | private: |
3548 | | using code_t = code; |
3549 | | |
3550 | | public: |
3551 | | struct success_tag_t {}; |
3552 | | static constexpr success_tag_t success_tag() noexcept |
3553 | 0 | { |
3554 | 0 | return {}; |
3555 | 0 | } |
3556 | | |
3557 | | /// Constructs an error with `code::good` and no message. |
3558 | 54.0M | constexpr scan_error() noexcept = default; |
3559 | 0 | constexpr scan_error(success_tag_t) noexcept : scan_error() {} |
3560 | | |
3561 | | /// Constructs an error with `c` and `m` |
3562 | 9.48M | constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c) |
3563 | 9.48M | { |
3564 | 9.48M | SCN_UNLIKELY_ATTR SCN_UNUSED(m_code); |
3565 | 9.48M | } |
3566 | | |
3567 | | /// Evaluated to true if there was no error |
3568 | | constexpr explicit operator bool() const noexcept |
3569 | 81.7M | { |
3570 | 81.7M | return m_code == good; |
3571 | 81.7M | } |
3572 | | |
3573 | | constexpr explicit operator code_t() const noexcept |
3574 | 0 | { |
3575 | 0 | return m_code; |
3576 | 0 | } |
3577 | | |
3578 | | /// Get error code |
3579 | | SCN_NODISCARD constexpr code_t code() const noexcept |
3580 | 1.77M | { |
3581 | 1.77M | return m_code; |
3582 | 1.77M | } |
3583 | | /// Get error message |
3584 | | SCN_NODISCARD constexpr auto msg() const noexcept -> const char* |
3585 | 0 | { |
3586 | 0 | return m_msg; |
3587 | 0 | } |
3588 | | |
3589 | | private: |
3590 | | const char* m_msg{nullptr}; |
3591 | | code_t m_code{good}; |
3592 | | }; |
3593 | | |
3594 | | constexpr inline bool operator==(scan_error a, scan_error b) noexcept |
3595 | 0 | { |
3596 | 0 | return a.code() == b.code(); |
3597 | 0 | } |
3598 | | constexpr inline bool operator!=(scan_error a, scan_error b) noexcept |
3599 | 0 | { |
3600 | 0 | return !(a == b); |
3601 | 0 | } |
3602 | | |
3603 | | constexpr inline bool operator==(scan_error a, enum scan_error::code b) noexcept |
3604 | 1.77M | { |
3605 | 1.77M | return a.code() == b; |
3606 | 1.77M | } |
3607 | | constexpr inline bool operator!=(scan_error a, enum scan_error::code b) noexcept |
3608 | 1.77M | { |
3609 | 1.77M | return !(a == b); |
3610 | 1.77M | } |
3611 | | |
3612 | | constexpr inline bool operator==(enum scan_error::code a, scan_error b) noexcept |
3613 | 0 | { |
3614 | 0 | return a == b.code(); |
3615 | 0 | } |
3616 | | constexpr inline bool operator!=(enum scan_error::code a, scan_error b) noexcept |
3617 | 0 | { |
3618 | 0 | return !(a == b); |
3619 | 0 | } |
3620 | | |
3621 | | namespace detail { |
3622 | | // Intentionally not constexpr, to give out a compile-time error |
3623 | | scan_error handle_error(scan_error e); |
3624 | | } // namespace detail |
3625 | | |
3626 | | /** |
3627 | | * An `expected<T, scan_error>`. |
3628 | | * |
3629 | | * Not a type alias to shorten template names |
3630 | | * |
3631 | | * \ingroup result |
3632 | | */ |
3633 | | template <typename T> |
3634 | | struct scan_expected : public expected<T, scan_error> { |
3635 | | using expected<T, scan_error>::expected; |
3636 | | |
3637 | | scan_expected(const expected<T, scan_error>& other) |
3638 | | : expected<T, scan_error>(other) |
3639 | | { |
3640 | | } |
3641 | | scan_expected(expected<T, scan_error>&& other) |
3642 | 7.41M | : expected<T, scan_error>(SCN_MOVE(other)) |
3643 | 7.41M | { |
3644 | 7.41M | } Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>&&) scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>&&) Line | Count | Source | 3642 | 1.45k | : expected<T, scan_error>(SCN_MOVE(other)) | 3643 | 1.45k | { | 3644 | 1.45k | } |
scn::v3::scan_expected<char const*>::scan_expected(scn::v3::expected<char const*, scn::v3::scan_error>&&) Line | Count | Source | 3642 | 1.50M | : expected<T, scan_error>(SCN_MOVE(other)) | 3643 | 1.50M | { | 3644 | 1.50M | } |
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>&&) Line | Count | Source | 3642 | 3.47M | : expected<T, scan_error>(SCN_MOVE(other)) | 3643 | 3.47M | { | 3644 | 3.47M | } |
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>&&) scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>&&) Line | Count | Source | 3642 | 890 | : expected<T, scan_error>(SCN_MOVE(other)) | 3643 | 890 | { | 3644 | 890 | } |
scn::v3::scan_expected<wchar_t const*>::scan_expected(scn::v3::expected<wchar_t const*, scn::v3::scan_error>&&) Line | Count | Source | 3642 | 988k | : expected<T, scan_error>(SCN_MOVE(other)) | 3643 | 988k | { | 3644 | 988k | } |
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>&&) Line | Count | Source | 3642 | 1.44M | : expected<T, scan_error>(SCN_MOVE(other)) | 3643 | 1.44M | { | 3644 | 1.44M | } |
|
3645 | | }; |
3646 | | |
3647 | | template <typename... Args> |
3648 | | auto unexpected_scan_error(Args&&... args) |
3649 | 1.06M | { |
3650 | 1.06M | return unexpected(scan_error{SCN_FWD(args)...}); |
3651 | 1.06M | } Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [74]>(scn::v3::scan_error::code&&, char const (&) [74]) auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [41]>(scn::v3::scan_error::code&&, char const (&) [41]) Line | Count | Source | 3649 | 161k | { | 3650 | 161k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 161k | } |
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [51]>(scn::v3::scan_error::code&&, char const (&) [51]) Line | Count | Source | 3649 | 68.3k | { | 3650 | 68.3k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 68.3k | } |
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [37]>(scn::v3::scan_error::code&&, char const (&) [37]) auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [20]>(scn::v3::scan_error::code&&, char const (&) [20]) Line | Count | Source | 3649 | 1.05k | { | 3650 | 1.05k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 1.05k | } |
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [35]>(scn::v3::scan_error::code&&, char const (&) [35]) Line | Count | Source | 3649 | 56.2k | { | 3650 | 56.2k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 56.2k | } |
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [34]>(scn::v3::scan_error::code&&, char const (&) [34]) Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [31]>(scn::v3::scan_error::code&&, char const (&) [31]) auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [38]>(scn::v3::scan_error::code&&, char const (&) [38]) Line | Count | Source | 3649 | 44.3k | { | 3650 | 44.3k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 44.3k | } |
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [14]>(scn::v3::scan_error::code&&, char const (&) [14]) Line | Count | Source | 3649 | 24.2k | { | 3650 | 24.2k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 24.2k | } |
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [32]>(scn::v3::scan_error::code&&, char const (&) [32]) Line | Count | Source | 3649 | 13.1k | { | 3650 | 13.1k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 13.1k | } |
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [36]>(scn::v3::scan_error::code&&, char const (&) [36]) Line | Count | Source | 3649 | 582 | { | 3650 | 582 | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 582 | } |
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [59]>(scn::v3::scan_error::code&&, char const (&) [59]) auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [52]>(scn::v3::scan_error::code&&, char const (&) [52]) Line | Count | Source | 3649 | 1.63k | { | 3650 | 1.63k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 1.63k | } |
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [66]>(scn::v3::scan_error::code&&, char const (&) [66]) Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [77]>(scn::v3::scan_error::code&&, char const (&) [77]) auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [40]>(scn::v3::scan_error::code&&, char const (&) [40]) Line | Count | Source | 3649 | 26.9k | { | 3650 | 26.9k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 26.9k | } |
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [42]>(scn::v3::scan_error::code&&, char const (&) [42]) auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [47]>(scn::v3::scan_error::code&&, char const (&) [47]) Line | Count | Source | 3649 | 4.98k | { | 3650 | 4.98k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 4.98k | } |
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [23]>(scn::v3::scan_error::code&&, char const (&) [23]) Line | Count | Source | 3649 | 70 | { | 3650 | 70 | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 70 | } |
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [19]>(scn::v3::scan_error::code&&, char const (&) [19]) auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [79]>(scn::v3::scan_error::code&&, char const (&) [79]) Line | Count | Source | 3649 | 88 | { | 3650 | 88 | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 88 | } |
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [22]>(scn::v3::scan_error::code&&, char const (&) [22]) Line | Count | Source | 3649 | 413k | { | 3650 | 413k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 413k | } |
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [29]>(scn::v3::scan_error::code&&, char const (&) [29]) Line | Count | Source | 3649 | 184k | { | 3650 | 184k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 184k | } |
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [17]>(scn::v3::scan_error::code&&, char const (&) [17]) Line | Count | Source | 3649 | 60.5k | { | 3650 | 60.5k | return unexpected(scan_error{SCN_FWD(args)...}); | 3651 | 60.5k | } |
|
3652 | | |
3653 | | namespace detail { |
3654 | | template <typename T> |
3655 | | struct is_expected_impl<scan_expected<T>> : std::true_type {}; |
3656 | | } // namespace detail |
3657 | | |
3658 | 4.67M | #define SCN_TRY_IMPL_CONCAT(a, b) a##b |
3659 | 4.67M | #define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b) |
3660 | 4.67M | #define SCN_TRY_TMP SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__) |
3661 | | |
3662 | | #define SCN_TRY_ASSIGN(init, x) \ |
3663 | 118M | auto&& SCN_TRY_TMP = (x); \ Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_ Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_ _ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_ Line | Count | Source | 3663 | 421k | auto&& SCN_TRY_TMP = (x); \ |
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_ Line | Count | Source | 3663 | 792k | auto&& SCN_TRY_TMP = (x); \ |
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_ Line | Count | Source | 3663 | 4 | auto&& SCN_TRY_TMP = (x); \ |
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_ Line | Count | Source | 3663 | 270 | auto&& SCN_TRY_TMP = (x); \ |
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_ Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_ Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_ Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_ _ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_ Line | Count | Source | 3663 | 174k | auto&& SCN_TRY_TMP = (x); \ |
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_ Line | Count | Source | 3663 | 391k | auto&& SCN_TRY_TMP = (x); \ |
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_ Line | Count | Source | 3663 | 6 | auto&& SCN_TRY_TMP = (x); \ |
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_ Line | Count | Source | 3663 | 166 | auto&& SCN_TRY_TMP = (x); \ |
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_ Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_ |
3664 | 118M | if (SCN_UNLIKELY(!SCN_TRY_TMP)) { \ |
3665 | 4.67M | return ::scn::unexpected(SCN_TRY_TMP.error()); \ |
3666 | 4.67M | } \ |
3667 | 118M | init = *SCN_FWD(SCN_TRY_TMP); |
3668 | 101M | #define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x) |
3669 | | |
3670 | | #define SCN_TRY_ERR(name, x) \ |
3671 | | auto&& SCN_TRY_TMP = (x); \ |
3672 | | if (SCN_UNLIKELY(!SCN_TRY_TMP)) { \ |
3673 | | return SCN_TRY_TMP.error(); \ |
3674 | | } \ |
3675 | | auto name = *SCN_FWD(SCN_TRY_TMP); |
3676 | | |
3677 | | ///////////////////////////////////////////////////////////////// |
3678 | | // string_view utilities |
3679 | | ///////////////////////////////////////////////////////////////// |
3680 | | |
3681 | | namespace detail { |
3682 | | |
3683 | | template <typename T> |
3684 | | struct is_string_view : std::false_type {}; |
3685 | | template <typename CharT, typename Traits> |
3686 | | struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type { |
3687 | | }; |
3688 | | |
3689 | | // workarounds for MSVC string_view debug iterators |
3690 | | template <typename CharT> |
3691 | | constexpr std::basic_string_view<CharT> make_string_view_from_iterators( |
3692 | | typename std::basic_string_view<CharT>::iterator first, |
3693 | | typename std::basic_string_view<CharT>::iterator last) |
3694 | 194M | { |
3695 | | if constexpr (std::is_constructible_v<std::basic_string_view<CharT>, |
3696 | | decltype(first), decltype(last)> && |
3697 | | !SCN_MSVC_DEBUG_ITERATORS) { |
3698 | | return {first, last}; |
3699 | | } |
3700 | 194M | else { |
3701 | 194M | return {to_address(first), static_cast<size_t>(std::distance( |
3702 | 194M | to_address(first), to_address(last)))}; |
3703 | 194M | } |
3704 | 194M | } std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator) Line | Count | Source | 3694 | 24.6M | { | 3695 | | if constexpr (std::is_constructible_v<std::basic_string_view<CharT>, | 3696 | | decltype(first), decltype(last)> && | 3697 | | !SCN_MSVC_DEBUG_ITERATORS) { | 3698 | | return {first, last}; | 3699 | | } | 3700 | 24.6M | else { | 3701 | 24.6M | return {to_address(first), static_cast<size_t>(std::distance( | 3702 | 24.6M | to_address(first), to_address(last)))}; | 3703 | 24.6M | } | 3704 | 24.6M | } |
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator) Line | Count | Source | 3694 | 170M | { | 3695 | | if constexpr (std::is_constructible_v<std::basic_string_view<CharT>, | 3696 | | decltype(first), decltype(last)> && | 3697 | | !SCN_MSVC_DEBUG_ITERATORS) { | 3698 | | return {first, last}; | 3699 | | } | 3700 | 170M | else { | 3701 | 170M | return {to_address(first), static_cast<size_t>(std::distance( | 3702 | 170M | to_address(first), to_address(last)))}; | 3703 | 170M | } | 3704 | 170M | } |
|
3705 | | |
3706 | | template <typename CharT> |
3707 | | constexpr std::basic_string_view<CharT> make_string_view_from_pointers( |
3708 | | const CharT* first, |
3709 | | const CharT* last) |
3710 | 796M | { |
3711 | | if constexpr (std::is_constructible_v<std::basic_string_view<CharT>, |
3712 | | const CharT*, const CharT*>) { |
3713 | | return {first, last}; |
3714 | | } |
3715 | 796M | else { |
3716 | 796M | return {first, static_cast<size_t>(std::distance(first, last))}; |
3717 | 796M | } |
3718 | 796M | } std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::make_string_view_from_pointers<char>(char const*, char const*) Line | Count | Source | 3710 | 5.18M | { | 3711 | | if constexpr (std::is_constructible_v<std::basic_string_view<CharT>, | 3712 | | const CharT*, const CharT*>) { | 3713 | | return {first, last}; | 3714 | | } | 3715 | 5.18M | else { | 3716 | 5.18M | return {first, static_cast<size_t>(std::distance(first, last))}; | 3717 | 5.18M | } | 3718 | 5.18M | } |
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*) Line | Count | Source | 3710 | 790M | { | 3711 | | if constexpr (std::is_constructible_v<std::basic_string_view<CharT>, | 3712 | | const CharT*, const CharT*>) { | 3713 | | return {first, last}; | 3714 | | } | 3715 | 790M | else { | 3716 | 790M | return {first, static_cast<size_t>(std::distance(first, last))}; | 3717 | 790M | } | 3718 | 790M | } |
|
3719 | | |
3720 | | template <typename CharT> |
3721 | | constexpr auto make_string_view_iterator( |
3722 | | std::basic_string_view<CharT> sv, |
3723 | | typename std::basic_string_view<CharT>::iterator it) -> |
3724 | | typename std::basic_string_view<CharT>::iterator |
3725 | 27.0M | { |
3726 | | if constexpr (std::is_constructible_v< |
3727 | | typename std::basic_string_view<CharT>::iterator, |
3728 | | decltype(it)> && |
3729 | 27.0M | !SCN_MSVC_DEBUG_ITERATORS) { |
3730 | 27.0M | SCN_UNUSED(sv); |
3731 | 27.0M | return it; |
3732 | | } |
3733 | | else { |
3734 | | return sv.begin() + std::distance(sv.data(), detail::to_address(it)); |
3735 | | } |
3736 | 27.0M | } std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v3::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator) Line | Count | Source | 3725 | 27.0M | { | 3726 | | if constexpr (std::is_constructible_v< | 3727 | | typename std::basic_string_view<CharT>::iterator, | 3728 | | decltype(it)> && | 3729 | 27.0M | !SCN_MSVC_DEBUG_ITERATORS) { | 3730 | 27.0M | SCN_UNUSED(sv); | 3731 | 27.0M | return it; | 3732 | | } | 3733 | | else { | 3734 | | return sv.begin() + std::distance(sv.data(), detail::to_address(it)); | 3735 | | } | 3736 | 27.0M | } |
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v3::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator) Line | Count | Source | 3725 | 8.27k | { | 3726 | | if constexpr (std::is_constructible_v< | 3727 | | typename std::basic_string_view<CharT>::iterator, | 3728 | | decltype(it)> && | 3729 | 8.27k | !SCN_MSVC_DEBUG_ITERATORS) { | 3730 | 8.27k | SCN_UNUSED(sv); | 3731 | 8.27k | return it; | 3732 | | } | 3733 | | else { | 3734 | | return sv.begin() + std::distance(sv.data(), detail::to_address(it)); | 3735 | | } | 3736 | 8.27k | } |
|
3737 | | |
3738 | | template <typename CharT> |
3739 | | constexpr auto make_string_view_iterator_from_pointer( |
3740 | | std::basic_string_view<CharT> sv, |
3741 | | const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator |
3742 | | { |
3743 | | if constexpr (std::is_constructible_v< |
3744 | | typename std::basic_string_view<CharT>::iterator, |
3745 | | const CharT*> && |
3746 | | !SCN_MSVC_DEBUG_ITERATORS) { |
3747 | | SCN_UNUSED(sv); |
3748 | | return ptr; |
3749 | | } |
3750 | | else { |
3751 | | return sv.begin() + std::distance(sv.data(), ptr); |
3752 | | } |
3753 | | } |
3754 | | |
3755 | | ///////////////////////////////////////////////////////////////// |
3756 | | // Lightweight Unicode facilities |
3757 | | ///////////////////////////////////////////////////////////////// |
3758 | | |
3759 | | constexpr inline bool is_ascii_code_point(char32_t cp) |
3760 | 0 | { |
3761 | 0 | return cp <= 0x7f; |
3762 | 0 | } |
3763 | | |
3764 | | template <typename U8> |
3765 | | constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch) |
3766 | 30.9M | { |
3767 | 30.9M | static_assert(sizeof(U8) == 1); |
3768 | | |
3769 | 30.9M | SCN_GCC_COMPAT_PUSH |
3770 | 30.9M | SCN_GCC_COMPAT_IGNORE("-Wsign-conversion") |
3771 | 30.9M | constexpr char lengths[] = |
3772 | 30.9M | "\1\1\1\1\1\1\1\1" // highest bit is 0 -> single-byte |
3773 | 30.9M | "\1\1\1\1\1\1\1\1" |
3774 | 30.9M | "\0\0\0\0\0\0\0\0" // highest bits 10 -> error, non-initial |
3775 | | // byte |
3776 | 30.9M | "\2\2\2\2" // highest bits 110 -> 2-byte cp |
3777 | 30.9M | "\3\3" // highest bits 1110 -> 3-byte cp |
3778 | 30.9M | "\4"; // highest bits 11110 -> 4-byte cp |
3779 | 30.9M | return lengths[static_cast<unsigned char>(ch) >> 3]; |
3780 | 30.9M | SCN_GCC_COMPAT_POP |
3781 | 30.9M | } |
3782 | | |
3783 | | template <typename U16> |
3784 | | constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch) |
3785 | | { |
3786 | | static_assert(sizeof(U16) == 2); |
3787 | | |
3788 | | const auto lead = static_cast<uint16_t>(0xffff & ch); |
3789 | | if (lead >= 0xd800 && lead <= 0xdbff) { |
3790 | | // high surrogate |
3791 | | return 2; |
3792 | | } |
3793 | | if (lead >= 0xdc00 && lead <= 0xdfff) { |
3794 | | // unpaired low surrogate |
3795 | | return 0; |
3796 | | } |
3797 | | return 1; |
3798 | | } |
3799 | | |
3800 | | template <typename U> |
3801 | | constexpr std::size_t code_point_length_by_starting_code_unit(U ch) |
3802 | 1.19G | { |
3803 | 1.19G | if constexpr (sizeof(U) == 1) { |
3804 | 30.9M | return utf8_code_point_length_by_starting_code_unit(ch); |
3805 | | } |
3806 | | else if constexpr (sizeof(U) == 2) { |
3807 | | return utf16_code_point_length_by_starting_code_unit(ch); |
3808 | | } |
3809 | 1.16G | else { |
3810 | | // utf-32 |
3811 | 1.16G | static_assert(sizeof(U) == 4); |
3812 | 1.16G | SCN_UNUSED(ch); |
3813 | 1.16G | return 1; |
3814 | 1.16G | } |
3815 | 1.19G | } unsigned long scn::v3::detail::code_point_length_by_starting_code_unit<char>(char) Line | Count | Source | 3802 | 30.9M | { | 3803 | 30.9M | if constexpr (sizeof(U) == 1) { | 3804 | 30.9M | return utf8_code_point_length_by_starting_code_unit(ch); | 3805 | | } | 3806 | | else if constexpr (sizeof(U) == 2) { | 3807 | | return utf16_code_point_length_by_starting_code_unit(ch); | 3808 | | } | 3809 | | else { | 3810 | | // utf-32 | 3811 | | static_assert(sizeof(U) == 4); | 3812 | | SCN_UNUSED(ch); | 3813 | | return 1; | 3814 | | } | 3815 | 30.9M | } |
unsigned long scn::v3::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t) Line | Count | Source | 3802 | 1.16G | { | 3803 | | if constexpr (sizeof(U) == 1) { | 3804 | | return utf8_code_point_length_by_starting_code_unit(ch); | 3805 | | } | 3806 | | else if constexpr (sizeof(U) == 2) { | 3807 | | return utf16_code_point_length_by_starting_code_unit(ch); | 3808 | | } | 3809 | 1.16G | else { | 3810 | | // utf-32 | 3811 | 1.16G | static_assert(sizeof(U) == 4); | 3812 | 1.16G | SCN_UNUSED(ch); | 3813 | 1.16G | return 1; | 3814 | 1.16G | } | 3815 | 1.16G | } |
|
3816 | | |
3817 | | inline constexpr char32_t invalid_code_point = 0x110000; |
3818 | | |
3819 | | inline constexpr char32_t decode_utf8_code_point_exhaustive( |
3820 | | std::string_view input) |
3821 | 28.9M | { |
3822 | 28.9M | SCN_EXPECT(!input.empty() && input.size() <= 4); |
3823 | | |
3824 | 28.9M | const auto is_trailing_code_unit = [](char ch) { |
3825 | 2.65M | return static_cast<unsigned char>(ch) >> 6 == 0x2; |
3826 | 2.65M | }; |
3827 | | |
3828 | 28.9M | if (input.size() == 1) { |
3829 | 27.0M | if (static_cast<unsigned char>(input[0]) >= 0x80) { |
3830 | 3.54k | SCN_UNLIKELY_ATTR |
3831 | 3.54k | return invalid_code_point; |
3832 | 3.54k | } |
3833 | 27.0M | return static_cast<char32_t>(input[0]); |
3834 | 27.0M | } |
3835 | | |
3836 | 1.95M | if (input.size() == 2) { |
3837 | 1.18M | if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) { |
3838 | 708 | SCN_UNLIKELY_ATTR |
3839 | 708 | return invalid_code_point; |
3840 | 708 | } |
3841 | 1.18M | if (!is_trailing_code_unit(input[1])) { |
3842 | 83.3k | SCN_UNLIKELY_ATTR |
3843 | 83.3k | return invalid_code_point; |
3844 | 83.3k | } |
3845 | | |
3846 | 1.10M | char32_t cp{}; |
3847 | 1.10M | cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6; |
3848 | 1.10M | cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0; |
3849 | 1.10M | return cp; |
3850 | 1.18M | } |
3851 | | |
3852 | 771k | if (input.size() == 3) { |
3853 | 705k | if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) { |
3854 | 285 | SCN_UNLIKELY_ATTR |
3855 | 285 | return invalid_code_point; |
3856 | 285 | } |
3857 | 705k | if (!is_trailing_code_unit(input[1]) || |
3858 | 705k | !is_trailing_code_unit(input[2])) { |
3859 | 27.3k | SCN_UNLIKELY_ATTR |
3860 | 27.3k | return invalid_code_point; |
3861 | 27.3k | } |
3862 | | |
3863 | 677k | char32_t cp{}; |
3864 | 677k | cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12; |
3865 | 677k | cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6; |
3866 | 677k | cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0; |
3867 | 677k | return cp; |
3868 | 705k | } |
3869 | | |
3870 | 66.4k | if (input.size() == 4) { |
3871 | 66.4k | if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) { |
3872 | 0 | SCN_UNLIKELY_ATTR |
3873 | 0 | return invalid_code_point; |
3874 | 0 | } |
3875 | 66.4k | if (static_cast<unsigned char>(input[0]) > 0xf4) { |
3876 | 26.0k | SCN_UNLIKELY_ATTR |
3877 | 26.0k | return invalid_code_point; |
3878 | 26.0k | } |
3879 | 40.3k | if (!is_trailing_code_unit(input[1]) || |
3880 | 40.3k | !is_trailing_code_unit(input[2]) || |
3881 | 40.3k | !is_trailing_code_unit(input[3])) { |
3882 | 20.5k | SCN_UNLIKELY_ATTR |
3883 | 20.5k | return invalid_code_point; |
3884 | 20.5k | } |
3885 | | |
3886 | 19.8k | char32_t cp{}; |
3887 | 19.8k | cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18; |
3888 | 19.8k | cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12; |
3889 | 19.8k | cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6; |
3890 | 19.8k | cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0; |
3891 | 19.8k | return cp; |
3892 | 40.3k | } |
3893 | | |
3894 | 0 | #if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0) |
3895 | | // gcc 7 thinks we'll get here, even when we won't |
3896 | 0 | SCN_EXPECT(false); |
3897 | 0 | #endif |
3898 | 0 | SCN_UNREACHABLE; |
3899 | 0 | } |
3900 | | |
3901 | | inline constexpr char32_t decode_utf8_code_point_exhaustive_valid( |
3902 | | std::string_view input) |
3903 | 269k | { |
3904 | 269k | SCN_EXPECT(!input.empty() && input.size() <= 4); |
3905 | | |
3906 | 269k | const auto is_trailing_code_unit = [](char ch) { |
3907 | 38.8k | return static_cast<unsigned char>(ch) >> 6 == 0x2; |
3908 | 38.8k | }; |
3909 | | |
3910 | 269k | if (input.size() == 1) { |
3911 | 233k | SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80); |
3912 | 233k | return static_cast<char32_t>(input[0]); |
3913 | 233k | } |
3914 | | |
3915 | 35.8k | if (input.size() == 2) { |
3916 | 33.1k | SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0); |
3917 | 33.1k | SCN_EXPECT(is_trailing_code_unit(input[1])); |
3918 | | |
3919 | 33.1k | char32_t cp{}; |
3920 | 33.1k | cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6; |
3921 | 33.1k | cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0; |
3922 | 33.1k | return cp; |
3923 | 33.1k | } |
3924 | | |
3925 | 2.72k | if (input.size() == 3) { |
3926 | 2.50k | SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0); |
3927 | 2.50k | SCN_EXPECT(is_trailing_code_unit(input[1])); |
3928 | 2.50k | SCN_EXPECT(is_trailing_code_unit(input[2])); |
3929 | | |
3930 | 2.50k | char32_t cp{}; |
3931 | 2.50k | cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12; |
3932 | 2.50k | cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6; |
3933 | 2.50k | cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0; |
3934 | 2.50k | return cp; |
3935 | 2.50k | } |
3936 | | |
3937 | 222 | if (input.size() == 4) { |
3938 | 222 | SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0); |
3939 | 222 | SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4); |
3940 | 222 | SCN_EXPECT(is_trailing_code_unit(input[1])); |
3941 | 222 | SCN_EXPECT(is_trailing_code_unit(input[2])); |
3942 | 222 | SCN_EXPECT(is_trailing_code_unit(input[3])); |
3943 | | |
3944 | 222 | char32_t cp{}; |
3945 | 222 | cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18; |
3946 | 222 | cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12; |
3947 | 222 | cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6; |
3948 | 222 | cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0; |
3949 | 222 | return cp; |
3950 | 222 | } |
3951 | | |
3952 | 0 | #if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0) |
3953 | | // gcc 7 thinks we'll get here, even when we won't |
3954 | 0 | SCN_EXPECT(false); |
3955 | 0 | #endif |
3956 | 0 | SCN_UNREACHABLE; |
3957 | 0 | } |
3958 | | |
3959 | | template <typename CharT> |
3960 | | inline constexpr char32_t decode_utf16_code_point_exhaustive( |
3961 | | std::basic_string_view<CharT> input) |
3962 | | { |
3963 | | static_assert(sizeof(CharT) == 2); |
3964 | | |
3965 | | SCN_EXPECT(!input.empty() && input.size() <= 2); |
3966 | | |
3967 | | if (input.size() == 1) { |
3968 | | return static_cast<char32_t>(input[0]); |
3969 | | } |
3970 | | |
3971 | | const auto lead = static_cast<uint32_t>(input[0]); |
3972 | | const auto trail = static_cast<uint32_t>(input[1]); |
3973 | | if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) { |
3974 | | SCN_UNLIKELY_ATTR |
3975 | | return invalid_code_point; |
3976 | | } |
3977 | | |
3978 | | const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00); |
3979 | | return static_cast<char32_t>(cp + 0x10000); |
3980 | | } |
3981 | | |
3982 | | template <typename CharT> |
3983 | | inline constexpr char32_t decode_utf16_code_point_exhaustive_valid( |
3984 | | std::basic_string_view<CharT> input) |
3985 | | { |
3986 | | static_assert(sizeof(CharT) == 2); |
3987 | | |
3988 | | SCN_EXPECT(!input.empty() && input.size() <= 2); |
3989 | | |
3990 | | if (input.size() == 1) { |
3991 | | return static_cast<char32_t>(input[0]); |
3992 | | } |
3993 | | |
3994 | | const auto lead = static_cast<uint32_t>(input[0]); |
3995 | | const auto trail = static_cast<uint32_t>(input[1]); |
3996 | | SCN_EXPECT(lead >= 0xd800); |
3997 | | SCN_EXPECT(lead <= 0xdbff); |
3998 | | SCN_EXPECT(trail >= 0xdc00); |
3999 | | SCN_EXPECT(trail <= 0xdfff); |
4000 | | |
4001 | | const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00); |
4002 | | return static_cast<char32_t>(cp + 0x10000); |
4003 | | } |
4004 | | |
4005 | | template <typename CharT> |
4006 | | inline constexpr char32_t decode_code_point_exhaustive( |
4007 | | std::basic_string_view<CharT> input) |
4008 | 1.19G | { |
4009 | 1.19G | if constexpr (sizeof(CharT) == 1) { |
4010 | 28.9M | return decode_utf8_code_point_exhaustive(input); |
4011 | | } |
4012 | | else if constexpr (sizeof(CharT) == 2) { |
4013 | | return decode_utf16_code_point_exhaustive(input); |
4014 | | } |
4015 | 1.16G | else { |
4016 | 1.16G | SCN_EXPECT(input.size() == 1); |
4017 | 1.16G | auto cp = static_cast<char32_t>(input.front()); |
4018 | 1.16G | if (SCN_UNLIKELY(cp >= invalid_code_point)) { |
4019 | 3.19M | return invalid_code_point; |
4020 | 3.19M | } |
4021 | 1.15G | return cp; |
4022 | 1.16G | } |
4023 | 1.19G | } char32_t scn::v3::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 4008 | 28.9M | { | 4009 | 28.9M | if constexpr (sizeof(CharT) == 1) { | 4010 | 28.9M | return decode_utf8_code_point_exhaustive(input); | 4011 | | } | 4012 | | else if constexpr (sizeof(CharT) == 2) { | 4013 | | return decode_utf16_code_point_exhaustive(input); | 4014 | | } | 4015 | | else { | 4016 | | SCN_EXPECT(input.size() == 1); | 4017 | | auto cp = static_cast<char32_t>(input.front()); | 4018 | | if (SCN_UNLIKELY(cp >= invalid_code_point)) { | 4019 | | return invalid_code_point; | 4020 | | } | 4021 | | return cp; | 4022 | | } | 4023 | 28.9M | } |
char32_t scn::v3::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >) Line | Count | Source | 4008 | 1.16G | { | 4009 | | if constexpr (sizeof(CharT) == 1) { | 4010 | | return decode_utf8_code_point_exhaustive(input); | 4011 | | } | 4012 | | else if constexpr (sizeof(CharT) == 2) { | 4013 | | return decode_utf16_code_point_exhaustive(input); | 4014 | | } | 4015 | 1.16G | else { | 4016 | 1.16G | SCN_EXPECT(input.size() == 1); | 4017 | 1.16G | auto cp = static_cast<char32_t>(input.front()); | 4018 | 1.16G | if (SCN_UNLIKELY(cp >= invalid_code_point)) { | 4019 | 3.19M | return invalid_code_point; | 4020 | 3.19M | } | 4021 | 1.15G | return cp; | 4022 | 1.16G | } | 4023 | 1.16G | } |
|
4024 | | |
4025 | | template <typename CharT> |
4026 | | inline constexpr char32_t decode_code_point_exhaustive_valid( |
4027 | | std::basic_string_view<CharT> input) |
4028 | 269k | { |
4029 | 269k | if constexpr (sizeof(CharT) == 1) { |
4030 | 269k | return decode_utf8_code_point_exhaustive_valid(input); |
4031 | | } |
4032 | | else if constexpr (sizeof(CharT) == 2) { |
4033 | | return decode_utf16_code_point_exhaustive_valid(input); |
4034 | | } |
4035 | 0 | else { |
4036 | 0 | SCN_EXPECT(input.size() == 1); |
4037 | 0 | return static_cast<char32_t>(input.front()); |
4038 | 0 | } |
4039 | 269k | } char32_t scn::v3::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 4028 | 269k | { | 4029 | 269k | if constexpr (sizeof(CharT) == 1) { | 4030 | 269k | return decode_utf8_code_point_exhaustive_valid(input); | 4031 | | } | 4032 | | else if constexpr (sizeof(CharT) == 2) { | 4033 | | return decode_utf16_code_point_exhaustive_valid(input); | 4034 | | } | 4035 | | else { | 4036 | | SCN_EXPECT(input.size() == 1); | 4037 | | return static_cast<char32_t>(input.front()); | 4038 | | } | 4039 | 269k | } |
Unexecuted instantiation: char32_t scn::v3::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >) |
4040 | | |
4041 | | inline constexpr bool is_cp_space(char32_t cp) noexcept |
4042 | 1.00G | { |
4043 | | // Pattern_White_Space property |
4044 | 1.00G | return (cp >= 0x09 && cp <= 0x0d) || |
4045 | 1.00G | cp == 0x20 || // ASCII space characters |
4046 | 1.00G | cp == 0x85 || // NEXT LINE (NEL) |
4047 | 1.00G | cp == 0x200e || // LEFT-TO-RIGHT MARK |
4048 | 1.00G | cp == 0x200f || // RIGHT-TO-LEFT MARK |
4049 | 1.00G | cp == 0x2028 || // LINE SEPARATOR |
4050 | 1.00G | cp == 0x2029; // PARAGRAPH SEPARATOR |
4051 | 1.00G | } |
4052 | | |
4053 | | } // namespace detail |
4054 | | |
4055 | | ///////////////////////////////////////////////////////////////// |
4056 | | // scan_buffer |
4057 | | ///////////////////////////////////////////////////////////////// |
4058 | | |
4059 | | namespace detail { |
4060 | | template <typename CharT> |
4061 | | class basic_scan_buffer { |
4062 | | public: |
4063 | | class forward_iterator; |
4064 | | |
4065 | | using char_type = CharT; |
4066 | | using range_type = |
4067 | | ranges::subrange<forward_iterator, ranges::default_sentinel_t>; |
4068 | | |
4069 | | basic_scan_buffer(const basic_scan_buffer&) = delete; |
4070 | | basic_scan_buffer& operator=(const basic_scan_buffer&) = delete; |
4071 | | basic_scan_buffer(basic_scan_buffer&&) = delete; |
4072 | | basic_scan_buffer& operator=(basic_scan_buffer&&) = delete; |
4073 | 8.59M | virtual ~basic_scan_buffer() = default; scn::v3::detail::basic_scan_buffer<char>::~basic_scan_buffer() Line | Count | Source | 4073 | 4.45M | virtual ~basic_scan_buffer() = default; |
scn::v3::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer() Line | Count | Source | 4073 | 4.14M | virtual ~basic_scan_buffer() = default; |
|
4074 | | |
4075 | | virtual bool fill() = 0; |
4076 | | |
4077 | | virtual void sync(std::ptrdiff_t position) |
4078 | 8.59M | { |
4079 | 8.59M | SCN_UNUSED(position); |
4080 | 8.59M | } scn::v3::detail::basic_scan_buffer<char>::sync(long) Line | Count | Source | 4078 | 4.45M | { | 4079 | 4.45M | SCN_UNUSED(position); | 4080 | 4.45M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::sync(long) Line | Count | Source | 4078 | 4.14M | { | 4079 | 4.14M | SCN_UNUSED(position); | 4080 | 4.14M | } |
|
4081 | | |
4082 | | void sync_all() |
4083 | 1.25M | { |
4084 | 1.25M | sync(0); |
4085 | 1.25M | } scn::v3::detail::basic_scan_buffer<char>::sync_all() Line | Count | Source | 4083 | 419k | { | 4084 | 419k | sync(0); | 4085 | 419k | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::sync_all() Line | Count | Source | 4083 | 838k | { | 4084 | 838k | sync(0); | 4085 | 838k | } |
|
4086 | | |
4087 | | SCN_NODISCARD std::ptrdiff_t chars_available() const |
4088 | 211G | { |
4089 | 211G | return m_putback_buffer.size() + m_current_view.size(); |
4090 | 211G | } scn::v3::detail::basic_scan_buffer<char>::chars_available() const Line | Count | Source | 4088 | 383M | { | 4089 | 383M | return m_putback_buffer.size() + m_current_view.size(); | 4090 | 383M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::chars_available() const Line | Count | Source | 4088 | 210G | { | 4089 | 210G | return m_putback_buffer.size() + m_current_view.size(); | 4090 | 210G | } |
|
4091 | | |
4092 | | SCN_NODISCARD std::basic_string_view<CharT> current_view() const |
4093 | 0 | { |
4094 | 0 | return m_current_view; |
4095 | 0 | } Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::current_view() const Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::current_view() const |
4096 | | |
4097 | | SCN_NODISCARD std::basic_string<CharT>& putback_buffer() |
4098 | 0 | { |
4099 | 0 | return m_putback_buffer; |
4100 | 0 | } Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::putback_buffer() Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::putback_buffer() |
4101 | | SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const |
4102 | | { |
4103 | | return m_putback_buffer; |
4104 | | } |
4105 | | |
4106 | | SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at( |
4107 | | std::ptrdiff_t pos) const |
4108 | 26.7M | { |
4109 | 26.7M | if (SCN_UNLIKELY( |
4110 | 26.7M | pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) { |
4111 | 12.5M | return std::basic_string_view<CharT>(m_putback_buffer).substr(pos); |
4112 | 12.5M | } |
4113 | 14.1M | const auto start = pos - m_putback_buffer.size(); |
4114 | 14.1M | SCN_EXPECT(start <= m_current_view.size()); |
4115 | 14.1M | return m_current_view.substr(start); |
4116 | 14.1M | } scn::v3::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const Line | Count | Source | 4108 | 16.1M | { | 4109 | 16.1M | if (SCN_UNLIKELY( | 4110 | 16.1M | pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) { | 4111 | 5.99M | return std::basic_string_view<CharT>(m_putback_buffer).substr(pos); | 4112 | 5.99M | } | 4113 | 10.1M | const auto start = pos - m_putback_buffer.size(); | 4114 | 10.1M | SCN_EXPECT(start <= m_current_view.size()); | 4115 | 10.1M | return m_current_view.substr(start); | 4116 | 10.1M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const Line | Count | Source | 4108 | 10.6M | { | 4109 | 10.6M | if (SCN_UNLIKELY( | 4110 | 10.6M | pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) { | 4111 | 6.60M | return std::basic_string_view<CharT>(m_putback_buffer).substr(pos); | 4112 | 6.60M | } | 4113 | 4.00M | const auto start = pos - m_putback_buffer.size(); | 4114 | 4.00M | SCN_EXPECT(start <= m_current_view.size()); | 4115 | 4.00M | return m_current_view.substr(start); | 4116 | 4.00M | } |
|
4117 | | |
4118 | | SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const |
4119 | 337M | { |
4120 | 337M | if (SCN_UNLIKELY( |
4121 | 337M | pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) { |
4122 | 136M | return m_putback_buffer[pos]; |
4123 | 136M | } |
4124 | 200M | const auto start = pos - m_putback_buffer.size(); |
4125 | 200M | SCN_EXPECT(start < m_current_view.size()); |
4126 | 200M | return m_current_view[start]; |
4127 | 200M | } scn::v3::detail::basic_scan_buffer<char>::get_character_at(long) const Line | Count | Source | 4119 | 86.4M | { | 4120 | 86.4M | if (SCN_UNLIKELY( | 4121 | 86.4M | pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) { | 4122 | 54.2M | return m_putback_buffer[pos]; | 4123 | 54.2M | } | 4124 | 32.2M | const auto start = pos - m_putback_buffer.size(); | 4125 | 32.2M | SCN_EXPECT(start < m_current_view.size()); | 4126 | 32.2M | return m_current_view[start]; | 4127 | 32.2M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const Line | Count | Source | 4119 | 250M | { | 4120 | 250M | if (SCN_UNLIKELY( | 4121 | 250M | pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) { | 4122 | 82.1M | return m_putback_buffer[pos]; | 4123 | 82.1M | } | 4124 | 168M | const auto start = pos - m_putback_buffer.size(); | 4125 | 168M | SCN_EXPECT(start < m_current_view.size()); | 4126 | 168M | return m_current_view[start]; | 4127 | 168M | } |
|
4128 | | |
4129 | | SCN_NODISCARD bool is_contiguous() const |
4130 | 25.7M | { |
4131 | 25.7M | return m_is_contiguous; |
4132 | 25.7M | } scn::v3::detail::basic_scan_buffer<char>::is_contiguous() const Line | Count | Source | 4130 | 13.3M | { | 4131 | 13.3M | return m_is_contiguous; | 4132 | 13.3M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::is_contiguous() const Line | Count | Source | 4130 | 12.4M | { | 4131 | 12.4M | return m_is_contiguous; | 4132 | 12.4M | } |
|
4133 | | |
4134 | | SCN_NODISCARD auto get_contiguous() const |
4135 | 0 | { |
4136 | 0 | SCN_EXPECT(is_contiguous()); |
4137 | 0 | return ranges::subrange<const CharT*>{ |
4138 | 0 | current_view().data(), |
4139 | 0 | current_view().data() + current_view().size()}; |
4140 | 0 | } Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::get_contiguous() const Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::get_contiguous() const |
4141 | | |
4142 | | SCN_NODISCARD range_type get(); |
4143 | | |
4144 | | protected: |
4145 | | friend class forward_iterator; |
4146 | | |
4147 | | struct contiguous_tag {}; |
4148 | | struct non_contiguous_tag {}; |
4149 | | |
4150 | | basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv) |
4151 | 0 | : m_current_view(sv), m_is_contiguous(true) |
4152 | 0 | { |
4153 | 0 | } Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >) |
4154 | | |
4155 | | basic_scan_buffer(non_contiguous_tag, |
4156 | | std::basic_string_view<char_type> sv = {}) |
4157 | 8.59M | : m_current_view(sv), m_is_contiguous(false) |
4158 | 8.59M | { |
4159 | 8.59M | } scn::v3::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<char>::non_contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 4157 | 4.45M | : m_current_view(sv), m_is_contiguous(false) | 4158 | 4.45M | { | 4159 | 4.45M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<wchar_t>::non_contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >) Line | Count | Source | 4157 | 4.14M | : m_current_view(sv), m_is_contiguous(false) | 4158 | 4.14M | { | 4159 | 4.14M | } |
|
4160 | | |
4161 | | basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv) |
4162 | | : m_current_view(sv), m_is_contiguous(is_contiguous) |
4163 | | { |
4164 | | } |
4165 | | |
4166 | | std::basic_string_view<char_type> m_current_view{}; |
4167 | | std::basic_string<char_type> m_putback_buffer{}; |
4168 | | bool m_is_contiguous{false}; |
4169 | | }; |
4170 | | |
4171 | | template <typename CharT> |
4172 | | class basic_scan_buffer<CharT>::forward_iterator { |
4173 | | public: |
4174 | | using value_type = CharT; |
4175 | | using reference = CharT; |
4176 | | using pointer = CharT*; |
4177 | | using difference_type = std::ptrdiff_t; |
4178 | | using iterator_category = std::forward_iterator_tag; |
4179 | | |
4180 | | forward_iterator() = default; |
4181 | | |
4182 | | forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos) |
4183 | 8.59M | : m_begin(parent), m_end(nullptr), m_position(pos) |
4184 | 8.59M | { |
4185 | 8.59M | SCN_EXPECT(parent); |
4186 | 8.59M | SCN_EXPECT(!parent->is_contiguous()); |
4187 | 8.59M | } scn::v3::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v3::detail::basic_scan_buffer<char>*, long) Line | Count | Source | 4183 | 4.45M | : m_begin(parent), m_end(nullptr), m_position(pos) | 4184 | 4.45M | { | 4185 | 4.45M | SCN_EXPECT(parent); | 4186 | 4.45M | SCN_EXPECT(!parent->is_contiguous()); | 4187 | 4.45M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v3::detail::basic_scan_buffer<wchar_t>*, long) Line | Count | Source | 4183 | 4.14M | : m_begin(parent), m_end(nullptr), m_position(pos) | 4184 | 4.14M | { | 4185 | 4.14M | SCN_EXPECT(parent); | 4186 | 4.14M | SCN_EXPECT(!parent->is_contiguous()); | 4187 | 4.14M | } |
|
4188 | | |
4189 | | forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos) |
4190 | 0 | : m_begin(const_cast<CharT*>(view.data())), |
4191 | 0 | m_end(const_cast<CharT*>(view.data() + view.size())), |
4192 | 0 | m_position(pos) |
4193 | 0 | { |
4194 | 0 | } Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long) Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long) |
4195 | | |
4196 | | std::ptrdiff_t position() const |
4197 | 41.8M | { |
4198 | 41.8M | return m_position; |
4199 | 41.8M | } scn::v3::detail::basic_scan_buffer<char>::forward_iterator::position() const Line | Count | Source | 4197 | 26.7M | { | 4198 | 26.7M | return m_position; | 4199 | 26.7M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const Line | Count | Source | 4197 | 15.0M | { | 4198 | 15.0M | return m_position; | 4199 | 15.0M | } |
|
4200 | | |
4201 | | bool stores_parent() const |
4202 | 423G | { |
4203 | 423G | assert(m_begin); |
4204 | 423G | return m_end == nullptr; |
4205 | 423G | } scn::v3::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const Line | Count | Source | 4202 | 932M | { | 4203 | 932M | assert(m_begin); | 4204 | 932M | return m_end == nullptr; | 4205 | 932M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const Line | Count | Source | 4202 | 422G | { | 4203 | 422G | assert(m_begin); | 4204 | 422G | return m_end == nullptr; | 4205 | 422G | } |
|
4206 | | |
4207 | | basic_scan_buffer<CharT>* parent() |
4208 | 9.43M | { |
4209 | 9.43M | SCN_EXPECT(stores_parent()); |
4210 | 9.43M | return static_cast<basic_scan_buffer<CharT>*>(m_begin); |
4211 | 9.43M | } scn::v3::detail::basic_scan_buffer<char>::forward_iterator::parent() Line | Count | Source | 4208 | 6.81M | { | 4209 | 6.81M | SCN_EXPECT(stores_parent()); | 4210 | 6.81M | return static_cast<basic_scan_buffer<CharT>*>(m_begin); | 4211 | 6.81M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() Line | Count | Source | 4208 | 2.62M | { | 4209 | 2.62M | SCN_EXPECT(stores_parent()); | 4210 | 2.62M | return static_cast<basic_scan_buffer<CharT>*>(m_begin); | 4211 | 2.62M | } |
|
4212 | | const basic_scan_buffer<CharT>* parent() const |
4213 | 211G | { |
4214 | 211G | SCN_EXPECT(stores_parent()); |
4215 | 211G | return static_cast<const basic_scan_buffer<CharT>*>(m_begin); |
4216 | 211G | } scn::v3::detail::basic_scan_buffer<char>::forward_iterator::parent() const Line | Count | Source | 4213 | 518M | { | 4214 | 518M | SCN_EXPECT(stores_parent()); | 4215 | 518M | return static_cast<const basic_scan_buffer<CharT>*>(m_begin); | 4216 | 518M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const Line | Count | Source | 4213 | 211G | { | 4214 | 211G | SCN_EXPECT(stores_parent()); | 4215 | 211G | return static_cast<const basic_scan_buffer<CharT>*>(m_begin); | 4216 | 211G | } |
|
4217 | | |
4218 | | std::basic_string_view<CharT> contiguous_segment() const |
4219 | 26.7M | { |
4220 | 26.7M | if (!stores_parent()) { |
4221 | 0 | return make_string_view_from_pointers( |
4222 | 0 | static_cast<const CharT*>(m_begin) + position(), |
4223 | 0 | static_cast<const CharT*>(m_end)); |
4224 | 0 | } |
4225 | 26.7M | return parent()->get_segment_starting_at(position()); |
4226 | 26.7M | } scn::v3::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const Line | Count | Source | 4219 | 16.1M | { | 4220 | 16.1M | if (!stores_parent()) { | 4221 | 0 | return make_string_view_from_pointers( | 4222 | 0 | static_cast<const CharT*>(m_begin) + position(), | 4223 | 0 | static_cast<const CharT*>(m_end)); | 4224 | 0 | } | 4225 | 16.1M | return parent()->get_segment_starting_at(position()); | 4226 | 16.1M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const Line | Count | Source | 4219 | 10.6M | { | 4220 | 10.6M | if (!stores_parent()) { | 4221 | 0 | return make_string_view_from_pointers( | 4222 | 0 | static_cast<const CharT*>(m_begin) + position(), | 4223 | 0 | static_cast<const CharT*>(m_end)); | 4224 | 0 | } | 4225 | 10.6M | return parent()->get_segment_starting_at(position()); | 4226 | 10.6M | } |
|
4227 | | auto to_contiguous_segment_iterator() const |
4228 | | { |
4229 | | return contiguous_segment().data(); |
4230 | | } |
4231 | | |
4232 | | forward_iterator& operator++() |
4233 | 210G | { |
4234 | 210G | ++m_position; |
4235 | 210G | (void)read_at_position(); |
4236 | 210G | return *this; |
4237 | 210G | } scn::v3::detail::basic_scan_buffer<char>::forward_iterator::operator++() Line | Count | Source | 4233 | 136M | { | 4234 | 136M | ++m_position; | 4235 | 136M | (void)read_at_position(); | 4236 | 136M | return *this; | 4237 | 136M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++() Line | Count | Source | 4233 | 210G | { | 4234 | 210G | ++m_position; | 4235 | 210G | (void)read_at_position(); | 4236 | 210G | return *this; | 4237 | 210G | } |
|
4238 | | |
4239 | | forward_iterator operator++(int) |
4240 | | { |
4241 | | auto copy = *this; |
4242 | | operator++(); |
4243 | | return copy; |
4244 | | } |
4245 | | |
4246 | | CharT operator*() const |
4247 | 337M | { |
4248 | 337M | SCN_EXPECT(m_begin); |
4249 | | |
4250 | 337M | if (!stores_parent()) { |
4251 | 0 | auto ptr = static_cast<const CharT*>(m_begin) + position(); |
4252 | 0 | SCN_EXPECT(ptr != m_end); |
4253 | 0 | return *ptr; |
4254 | 0 | } |
4255 | | |
4256 | 337M | auto res = read_at_position(); |
4257 | 337M | SCN_EXPECT(res); |
4258 | 337M | return parent()->get_character_at(m_position); |
4259 | 337M | } scn::v3::detail::basic_scan_buffer<char>::forward_iterator::operator*() const Line | Count | Source | 4247 | 86.4M | { | 4248 | 86.4M | SCN_EXPECT(m_begin); | 4249 | | | 4250 | 86.4M | if (!stores_parent()) { | 4251 | 0 | auto ptr = static_cast<const CharT*>(m_begin) + position(); | 4252 | 0 | SCN_EXPECT(ptr != m_end); | 4253 | 0 | return *ptr; | 4254 | 0 | } | 4255 | | | 4256 | 86.4M | auto res = read_at_position(); | 4257 | 86.4M | SCN_EXPECT(res); | 4258 | 86.4M | return parent()->get_character_at(m_position); | 4259 | 86.4M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const Line | Count | Source | 4247 | 250M | { | 4248 | 250M | SCN_EXPECT(m_begin); | 4249 | | | 4250 | 250M | if (!stores_parent()) { | 4251 | 0 | auto ptr = static_cast<const CharT*>(m_begin) + position(); | 4252 | 0 | SCN_EXPECT(ptr != m_end); | 4253 | 0 | return *ptr; | 4254 | 0 | } | 4255 | | | 4256 | 250M | auto res = read_at_position(); | 4257 | 250M | SCN_EXPECT(res); | 4258 | 250M | return parent()->get_character_at(m_position); | 4259 | 250M | } |
|
4260 | | |
4261 | | forward_iterator& batch_advance(std::ptrdiff_t n) |
4262 | | { |
4263 | | SCN_EXPECT(n >= 0); |
4264 | | m_position += n; |
4265 | | return *this; |
4266 | | } |
4267 | | |
4268 | | forward_iterator& batch_advance_to(std::ptrdiff_t i) |
4269 | 0 | { |
4270 | 0 | SCN_EXPECT(i >= m_position); |
4271 | 0 | m_position = i; |
4272 | 0 | return *this; |
4273 | 0 | } Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long) Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long) |
4274 | | |
4275 | | friend bool operator==(const forward_iterator& lhs, |
4276 | | const forward_iterator& rhs) |
4277 | 210G | { |
4278 | 210G | return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position; |
4279 | 210G | } scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&) Line | Count | Source | 4277 | 74.9M | { | 4278 | 74.9M | return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position; | 4279 | 74.9M | } |
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&) Line | Count | Source | 4277 | 210G | { | 4278 | 210G | return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position; | 4279 | 210G | } |
|
4280 | | friend bool operator!=(const forward_iterator& lhs, |
4281 | | const forward_iterator& rhs) |
4282 | 210G | { |
4283 | 210G | return !(lhs == rhs); |
4284 | 210G | } scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&) Line | Count | Source | 4282 | 68.4M | { | 4283 | 68.4M | return !(lhs == rhs); | 4284 | 68.4M | } |
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&) Line | Count | Source | 4282 | 210G | { | 4283 | 210G | return !(lhs == rhs); | 4284 | 210G | } |
|
4285 | | |
4286 | | friend bool operator==(const forward_iterator& x, |
4287 | | ranges::default_sentinel_t) |
4288 | 112M | { |
4289 | 112M | return x.is_at_end(); |
4290 | 112M | } scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::default_sentinel_t) Line | Count | Source | 4288 | 32.3M | { | 4289 | 32.3M | return x.is_at_end(); | 4290 | 32.3M | } |
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::default_sentinel_t) Line | Count | Source | 4288 | 79.8M | { | 4289 | 79.8M | return x.is_at_end(); | 4290 | 79.8M | } |
|
4291 | | friend bool operator==(ranges::default_sentinel_t, |
4292 | | const forward_iterator& x) |
4293 | | { |
4294 | | return x.is_at_end(); |
4295 | | } |
4296 | | |
4297 | | friend bool operator!=(const forward_iterator& x, |
4298 | | ranges::default_sentinel_t) |
4299 | 217M | { |
4300 | 217M | return !x.is_at_end(); |
4301 | 217M | } scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::default_sentinel_t) Line | Count | Source | 4299 | 42.4M | { | 4300 | 42.4M | return !x.is_at_end(); | 4301 | 42.4M | } |
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::default_sentinel_t) Line | Count | Source | 4299 | 175M | { | 4300 | 175M | return !x.is_at_end(); | 4301 | 175M | } |
|
4302 | | friend bool operator!=(ranges::default_sentinel_t, |
4303 | | const forward_iterator& x) |
4304 | | { |
4305 | | return !x.is_at_end(); |
4306 | | } |
4307 | | |
4308 | | private: |
4309 | | friend class basic_scan_buffer<CharT>; |
4310 | | |
4311 | | SCN_NODISCARD bool read_at_position() const |
4312 | 210G | { |
4313 | 210G | SCN_EXPECT(m_begin); |
4314 | | |
4315 | 210G | if (!stores_parent()) { |
4316 | 0 | return true; |
4317 | 0 | } |
4318 | | |
4319 | 210G | if (SCN_LIKELY(m_position < parent()->chars_available())) { |
4320 | 210G | return true; |
4321 | 210G | } |
4322 | | |
4323 | 427M | while (m_position >= parent()->chars_available()) { |
4324 | 214M | if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) { |
4325 | 1.08M | return false; |
4326 | 1.08M | } |
4327 | 214M | } |
4328 | 213M | return true; |
4329 | 214M | } scn::v3::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const Line | Count | Source | 4312 | 297M | { | 4313 | 297M | SCN_EXPECT(m_begin); | 4314 | | | 4315 | 297M | if (!stores_parent()) { | 4316 | 0 | return true; | 4317 | 0 | } | 4318 | | | 4319 | 297M | if (SCN_LIKELY(m_position < parent()->chars_available())) { | 4320 | 257M | return true; | 4321 | 257M | } | 4322 | | | 4323 | 79.0M | while (m_position >= parent()->chars_available()) { | 4324 | 39.8M | if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) { | 4325 | 664k | return false; | 4326 | 664k | } | 4327 | 39.8M | } | 4328 | 39.1M | return true; | 4329 | 39.8M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const Line | Count | Source | 4312 | 210G | { | 4313 | 210G | SCN_EXPECT(m_begin); | 4314 | | | 4315 | 210G | if (!stores_parent()) { | 4316 | 0 | return true; | 4317 | 0 | } | 4318 | | | 4319 | 210G | if (SCN_LIKELY(m_position < parent()->chars_available())) { | 4320 | 210G | return true; | 4321 | 210G | } | 4322 | | | 4323 | 348M | while (m_position >= parent()->chars_available()) { | 4324 | 174M | if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) { | 4325 | 421k | return false; | 4326 | 421k | } | 4327 | 174M | } | 4328 | 173M | return true; | 4329 | 174M | } |
|
4330 | | |
4331 | | SCN_NODISCARD bool is_at_end() const |
4332 | 329M | { |
4333 | 329M | if (m_end) { |
4334 | 0 | return (static_cast<const CharT*>(m_begin) + position()) == m_end; |
4335 | 0 | } |
4336 | 329M | if (!m_begin) { |
4337 | 0 | return true; |
4338 | 0 | } |
4339 | 329M | return !read_at_position(); |
4340 | 329M | } scn::v3::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const Line | Count | Source | 4332 | 74.8M | { | 4333 | 74.8M | if (m_end) { | 4334 | 0 | return (static_cast<const CharT*>(m_begin) + position()) == m_end; | 4335 | 0 | } | 4336 | 74.8M | if (!m_begin) { | 4337 | 0 | return true; | 4338 | 0 | } | 4339 | 74.8M | return !read_at_position(); | 4340 | 74.8M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const Line | Count | Source | 4332 | 254M | { | 4333 | 254M | if (m_end) { | 4334 | 0 | return (static_cast<const CharT*>(m_begin) + position()) == m_end; | 4335 | 0 | } | 4336 | 254M | if (!m_begin) { | 4337 | 0 | return true; | 4338 | 0 | } | 4339 | 254M | return !read_at_position(); | 4340 | 254M | } |
|
4341 | | |
4342 | | // If m_end is null, m_begin points to the parent scan_buffer |
4343 | | // Otherwise, [m_begin, m_end) is the range of this iterator (and of |
4344 | | // the entire range) |
4345 | | mutable void* m_begin{nullptr}; |
4346 | | mutable void* m_end{nullptr}; |
4347 | | std::ptrdiff_t m_position{0}; |
4348 | | }; |
4349 | | |
4350 | | template <typename CharT> |
4351 | | SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type |
4352 | 8.59M | { |
4353 | 8.59M | if (is_contiguous()) { |
4354 | 0 | return ranges::subrange{forward_iterator{m_current_view, 0}, |
4355 | 0 | ranges::default_sentinel}; |
4356 | 0 | } |
4357 | 8.59M | return ranges::subrange{forward_iterator{this, 0}, |
4358 | 8.59M | ranges::default_sentinel}; |
4359 | 8.59M | } scn::v3::detail::basic_scan_buffer<char>::get() Line | Count | Source | 4352 | 4.45M | { | 4353 | 4.45M | if (is_contiguous()) { | 4354 | 0 | return ranges::subrange{forward_iterator{m_current_view, 0}, | 4355 | 0 | ranges::default_sentinel}; | 4356 | 0 | } | 4357 | 4.45M | return ranges::subrange{forward_iterator{this, 0}, | 4358 | 4.45M | ranges::default_sentinel}; | 4359 | 4.45M | } |
scn::v3::detail::basic_scan_buffer<wchar_t>::get() Line | Count | Source | 4352 | 4.14M | { | 4353 | 4.14M | if (is_contiguous()) { | 4354 | 0 | return ranges::subrange{forward_iterator{m_current_view, 0}, | 4355 | 0 | ranges::default_sentinel}; | 4356 | 0 | } | 4357 | 4.14M | return ranges::subrange{forward_iterator{this, 0}, | 4358 | 4.14M | ranges::default_sentinel}; | 4359 | 4.14M | } |
|
4360 | | |
4361 | | static_assert(ranges::forward_range<scan_buffer::range_type>); |
4362 | | |
4363 | | template <typename CharT> |
4364 | | class basic_scan_string_buffer : public basic_scan_buffer<CharT> { |
4365 | | using base = basic_scan_buffer<CharT>; |
4366 | | |
4367 | | public: |
4368 | | basic_scan_string_buffer(std::basic_string_view<CharT> sv) |
4369 | 0 | : base(typename base::contiguous_tag{}, sv) |
4370 | 0 | { |
4371 | 0 | } Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >) |
4372 | | |
4373 | | bool fill() override |
4374 | 0 | { |
4375 | 0 | SCN_EXPECT(false); |
4376 | 0 | SCN_UNREACHABLE; |
4377 | 0 | } Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<char>::fill() Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<wchar_t>::fill() |
4378 | | }; |
4379 | | |
4380 | | template <typename CharT> |
4381 | | basic_scan_string_buffer(std::basic_string_view<CharT>) |
4382 | | -> basic_scan_string_buffer<CharT>; |
4383 | | |
4384 | | template <typename CharT> |
4385 | | class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> { |
4386 | | using base = basic_scan_buffer<CharT>; |
4387 | | |
4388 | | protected: |
4389 | 8.59M | basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{}) |
4390 | 8.59M | { |
4391 | 8.59M | } scn::v3::detail::basic_scan_forward_buffer_base<char>::basic_scan_forward_buffer_base() Line | Count | Source | 4389 | 4.45M | basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{}) | 4390 | 4.45M | { | 4391 | 4.45M | } |
scn::v3::detail::basic_scan_forward_buffer_base<wchar_t>::basic_scan_forward_buffer_base() Line | Count | Source | 4389 | 4.14M | basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{}) | 4390 | 4.14M | { | 4391 | 4.14M | } |
|
4392 | | }; |
4393 | | |
4394 | | template <typename I, typename S> |
4395 | | using less_than_compare = |
4396 | | decltype(SCN_DECLVAL(const I&) < SCN_DECLVAL(const S&)); |
4397 | | |
4398 | | template <typename Range> |
4399 | | class basic_scan_forward_buffer_impl |
4400 | | : public basic_scan_forward_buffer_base<detail::char_t<Range>> { |
4401 | | static_assert(ranges::range<const Range> && std::is_object_v<Range>); |
4402 | | |
4403 | | using _char_type = detail::char_t<Range>; |
4404 | | using base = basic_scan_forward_buffer_base<_char_type>; |
4405 | | |
4406 | | public: |
4407 | | using char_type = _char_type; |
4408 | | using range_type = Range; |
4409 | | using iterator = ranges::iterator_t<const Range>; |
4410 | | using sentinel = ranges::sentinel_t<const Range>; |
4411 | | |
4412 | | template < |
4413 | | typename R, |
4414 | | std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> && |
4415 | | std::is_convertible_v<R, const Range&>>* = nullptr> |
4416 | | basic_scan_forward_buffer_impl(R&& r) |
4417 | 8.59M | : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))), |
4418 | 8.59M | m_cursor(ranges::begin(*m_range)) |
4419 | 8.59M | { |
4420 | 8.59M | } _ZN3scn2v36detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_ Line | Count | Source | 4417 | 4.45M | : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))), | 4418 | 4.45M | m_cursor(ranges::begin(*m_range)) | 4419 | 4.45M | { | 4420 | 4.45M | } |
_ZN3scn2v36detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_ Line | Count | Source | 4417 | 4.14M | : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))), | 4418 | 4.14M | m_cursor(ranges::begin(*m_range)) | 4419 | 4.14M | { | 4420 | 4.14M | } |
|
4421 | | |
4422 | | bool fill() override |
4423 | 214M | { |
4424 | 214M | if (m_cursor == ranges::end(*m_range)) { |
4425 | 1.08M | return false; |
4426 | 1.08M | } |
4427 | 213M | if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) { |
4428 | 213M | SCN_EXPECT(m_cursor < ranges::end(*m_range)); |
4429 | 213M | } |
4430 | 213M | if (!this->m_current_view.empty()) { |
4431 | 204M | this->m_putback_buffer.insert(this->m_putback_buffer.end(), |
4432 | 204M | this->m_current_view.begin(), |
4433 | 204M | this->m_current_view.end()); |
4434 | 204M | } |
4435 | 213M | m_latest = *m_cursor; |
4436 | 213M | ++m_cursor; |
4437 | 213M | this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1}; |
4438 | 213M | if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) { |
4439 | 213M | SCN_EXPECT(m_cursor <= ranges::end(*m_range)); |
4440 | 213M | } |
4441 | 213M | return true; |
4442 | 214M | } scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::fill() Line | Count | Source | 4423 | 39.8M | { | 4424 | 39.8M | if (m_cursor == ranges::end(*m_range)) { | 4425 | 664k | return false; | 4426 | 664k | } | 4427 | 39.1M | if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) { | 4428 | 39.1M | SCN_EXPECT(m_cursor < ranges::end(*m_range)); | 4429 | 39.1M | } | 4430 | 39.1M | if (!this->m_current_view.empty()) { | 4431 | 34.8M | this->m_putback_buffer.insert(this->m_putback_buffer.end(), | 4432 | 34.8M | this->m_current_view.begin(), | 4433 | 34.8M | this->m_current_view.end()); | 4434 | 34.8M | } | 4435 | 39.1M | m_latest = *m_cursor; | 4436 | 39.1M | ++m_cursor; | 4437 | 39.1M | this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1}; | 4438 | 39.1M | if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) { | 4439 | 39.1M | SCN_EXPECT(m_cursor <= ranges::end(*m_range)); | 4440 | 39.1M | } | 4441 | 39.1M | return true; | 4442 | 39.8M | } |
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::fill() Line | Count | Source | 4423 | 174M | { | 4424 | 174M | if (m_cursor == ranges::end(*m_range)) { | 4425 | 421k | return false; | 4426 | 421k | } | 4427 | 173M | if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) { | 4428 | 173M | SCN_EXPECT(m_cursor < ranges::end(*m_range)); | 4429 | 173M | } | 4430 | 173M | if (!this->m_current_view.empty()) { | 4431 | 169M | this->m_putback_buffer.insert(this->m_putback_buffer.end(), | 4432 | 169M | this->m_current_view.begin(), | 4433 | 169M | this->m_current_view.end()); | 4434 | 169M | } | 4435 | 173M | m_latest = *m_cursor; | 4436 | 173M | ++m_cursor; | 4437 | 173M | this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1}; | 4438 | 173M | if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) { | 4439 | 173M | SCN_EXPECT(m_cursor <= ranges::end(*m_range)); | 4440 | 173M | } | 4441 | 173M | return true; | 4442 | 174M | } |
|
4443 | | |
4444 | | private: |
4445 | | const Range* m_range; |
4446 | | iterator m_cursor; |
4447 | | char_type m_latest{}; |
4448 | | }; |
4449 | | |
4450 | | template <typename R> |
4451 | | basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>; |
4452 | | |
4453 | | class scan_file_buffer : public basic_scan_buffer<char> { |
4454 | | using base = basic_scan_buffer<char>; |
4455 | | |
4456 | | public: |
4457 | | scan_file_buffer(std::FILE* file); |
4458 | | ~scan_file_buffer(); |
4459 | | |
4460 | | bool fill() override; |
4461 | | void sync(std::ptrdiff_t position) override; |
4462 | | |
4463 | | private: |
4464 | | std::FILE* m_file; |
4465 | | std::optional<char_type> m_latest{std::nullopt}; |
4466 | | }; |
4467 | | |
4468 | | template <typename CharT> |
4469 | | class basic_scan_ref_buffer : public basic_scan_buffer<CharT> { |
4470 | | using base = basic_scan_buffer<CharT>; |
4471 | | |
4472 | | public: |
4473 | | basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos) |
4474 | | : base(other.is_contiguous(), std::basic_string_view<CharT>{}), |
4475 | | m_other(&other), |
4476 | | m_starting_pos(starting_pos) |
4477 | | { |
4478 | | this->m_current_view = other.get_segment_starting_at(starting_pos); |
4479 | | m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() == |
4480 | | this->m_current_view.end(); |
4481 | | } |
4482 | | |
4483 | | basic_scan_ref_buffer(std::basic_string_view<CharT> view) |
4484 | | : base(true, view), m_other(nullptr) |
4485 | | { |
4486 | | } |
4487 | | |
4488 | | bool fill() override |
4489 | 0 | { |
4490 | 0 | if (!m_other) { |
4491 | 0 | return false; |
4492 | 0 | } |
4493 | 0 | SCN_EXPECT(m_starting_pos >= 0); |
4494 | 0 |
|
4495 | 0 | if (m_fill_needs_to_propagate) { |
4496 | 0 | auto ret = m_other->fill(); |
4497 | 0 | this->m_current_view = m_other->current_view(); |
4498 | 0 | this->m_putback_buffer = |
4499 | 0 | m_other->putback_buffer().substr(m_starting_pos); |
4500 | 0 | return ret; |
4501 | 0 | } |
4502 | 0 |
|
4503 | 0 | m_fill_needs_to_propagate = true; |
4504 | 0 | this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view}; |
4505 | 0 | this->m_current_view = m_other->current_view(); |
4506 | 0 | return true; |
4507 | 0 | } Unexecuted instantiation: scn::v3::detail::basic_scan_ref_buffer<char>::fill() Unexecuted instantiation: scn::v3::detail::basic_scan_ref_buffer<wchar_t>::fill() |
4508 | | |
4509 | | private: |
4510 | | base* m_other; |
4511 | | std::ptrdiff_t m_starting_pos{-1}; |
4512 | | bool m_fill_needs_to_propagate{false}; |
4513 | | }; |
4514 | | |
4515 | | template <typename CharT> |
4516 | | basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t) |
4517 | | -> basic_scan_ref_buffer<CharT>; |
4518 | | |
4519 | | template <typename CharT> |
4520 | | basic_scan_ref_buffer(std::basic_string_view<CharT>) |
4521 | | -> basic_scan_ref_buffer<CharT>; |
4522 | | |
4523 | | template <typename Range> |
4524 | | auto make_string_scan_buffer(const Range& range) |
4525 | | { |
4526 | | return basic_scan_string_buffer( |
4527 | | std::basic_string_view{ranges::data(range), ranges::size(range)}); |
4528 | | } |
4529 | | |
4530 | | template <typename Range> |
4531 | | auto make_forward_scan_buffer(const Range& range) |
4532 | 8.59M | { |
4533 | 8.59M | return basic_scan_forward_buffer_impl(range); |
4534 | 8.59M | } auto scn::v3::detail::make_forward_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&) Line | Count | Source | 4532 | 4.45M | { | 4533 | 4.45M | return basic_scan_forward_buffer_impl(range); | 4534 | 4.45M | } |
auto scn::v3::detail::make_forward_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&) Line | Count | Source | 4532 | 4.14M | { | 4533 | 4.14M | return basic_scan_forward_buffer_impl(range); | 4534 | 4.14M | } |
|
4535 | | |
4536 | | inline auto make_file_scan_buffer(std::FILE* file) |
4537 | 0 | { |
4538 | 0 | return scan_file_buffer(file); |
4539 | 0 | } |
4540 | | } // namespace detail |
4541 | | |
4542 | | ///////////////////////////////////////////////////////////////// |
4543 | | // make_scan_buffer |
4544 | | ///////////////////////////////////////////////////////////////// |
4545 | | |
4546 | | /** |
4547 | | * \defgroup scannable Scannable sources |
4548 | | * |
4549 | | * \brief Description of the `scannable_range` and `scannable_source` |
4550 | | * concepts. |
4551 | | * |
4552 | | * A range is considered scannable, if it models at least `forward_range`, |
4553 | | * and its character type is correct (its value type is the same as the one |
4554 | | * of the format string). |
4555 | | * If the range additionally models `contiguous_range` and `sized_range`, |
4556 | | * additional optimizations are enabled. |
4557 | | * |
4558 | | * \code{.cpp} |
4559 | | * // Exposition only |
4560 | | * template <typename Range, typename CharT> |
4561 | | * concept scannable_range = |
4562 | | * ranges::forward_range<Range> && |
4563 | | * std::same_as<ranges::range_value_t<Range>, CharT>; |
4564 | | * \endcode |
4565 | | * |
4566 | | * Additionally, files (`std::FILE*`) can be scanned from. |
4567 | | * Files are always considered to be narrow (`char`-oriented). |
4568 | | * Thus, the entire concept is: |
4569 | | * |
4570 | | * \code{.cpp} |
4571 | | * // Exposition only |
4572 | | * template <typename Source, typename CharT> |
4573 | | * concept scannable_source = |
4574 | | * (std::same_as<std::remove_cvref_t<Source>, std::FILE*> && |
4575 | | * std::same_as<CharT, char>) || |
4576 | | * scannable_range<Source, CharT>; |
4577 | | * \endcode |
4578 | | */ |
4579 | | |
4580 | | /** |
4581 | | * Tag type to indicate an invalid range given to `scn::scan` |
4582 | | * |
4583 | | * \ingroup scannable |
4584 | | */ |
4585 | | struct invalid_input_range {}; |
4586 | | |
4587 | | struct invalid_char_type : invalid_input_range {}; |
4588 | | struct custom_char_traits : invalid_input_range {}; |
4589 | | struct file_marker_found : invalid_input_range {}; |
4590 | | struct insufficient_range : invalid_input_range {}; |
4591 | | |
4592 | | namespace detail { |
4593 | | template <typename CharT> |
4594 | | inline constexpr bool is_valid_char_type = |
4595 | | std::is_same_v<std::remove_const_t<CharT>, char> || |
4596 | | std::is_same_v<std::remove_const_t<CharT>, wchar_t>; |
4597 | | |
4598 | | namespace _make_scan_buffer { |
4599 | | // buffer -> ref_buffer |
4600 | | inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept |
4601 | | -> basic_scan_ref_buffer<char> |
4602 | 0 | { |
4603 | 0 | if (!r.begin().stores_parent()) { |
4604 | 0 | return basic_scan_ref_buffer{r.begin().contiguous_segment()}; |
4605 | 0 | } |
4606 | 0 | return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()}; |
4607 | 0 | } |
4608 | | inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept |
4609 | | -> basic_scan_ref_buffer<wchar_t> |
4610 | 0 | { |
4611 | 0 | if (!r.begin().stores_parent()) { |
4612 | 0 | return basic_scan_ref_buffer{r.begin().contiguous_segment()}; |
4613 | 0 | } |
4614 | 0 | return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()}; |
4615 | 0 | } |
4616 | | |
4617 | | // string_view -> string_buffer |
4618 | | template <typename CharT> |
4619 | | auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept |
4620 | 576k | { |
4621 | 576k | if constexpr (is_valid_char_type<CharT>) { |
4622 | 576k | return r; |
4623 | | // return make_string_scan_buffer(r); |
4624 | | } |
4625 | | else { |
4626 | | return invalid_char_type{}; |
4627 | | } |
4628 | 576k | } auto scn::v3::detail::_make_scan_buffer::impl<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::priority_tag<3ul>) Line | Count | Source | 4620 | 192k | { | 4621 | 192k | if constexpr (is_valid_char_type<CharT>) { | 4622 | 192k | return r; | 4623 | | // return make_string_scan_buffer(r); | 4624 | | } | 4625 | | else { | 4626 | | return invalid_char_type{}; | 4627 | | } | 4628 | 192k | } |
auto scn::v3::detail::_make_scan_buffer::impl<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::priority_tag<3ul>) Line | Count | Source | 4620 | 384k | { | 4621 | 384k | if constexpr (is_valid_char_type<CharT>) { | 4622 | 384k | return r; | 4623 | | // return make_string_scan_buffer(r); | 4624 | | } | 4625 | | else { | 4626 | | return invalid_char_type{}; | 4627 | | } | 4628 | 384k | } |
|
4629 | | |
4630 | | // string& -> string_buffer |
4631 | | template <typename CharT, typename Traits, typename Allocator> |
4632 | | auto impl(const std::basic_string<CharT, Traits, Allocator>& r, |
4633 | | priority_tag<3>) noexcept |
4634 | | { |
4635 | | if constexpr (!is_valid_char_type<CharT>) { |
4636 | | return invalid_char_type{}; |
4637 | | } |
4638 | | else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) { |
4639 | | return custom_char_traits{}; |
4640 | | } |
4641 | | else { |
4642 | | return std::basic_string_view<CharT>{r}; |
4643 | | } |
4644 | | } |
4645 | | |
4646 | | // String literals: |
4647 | | // CharT(&)[] -> string_buffer |
4648 | | template <typename CharT, |
4649 | | std::size_t N, |
4650 | | std::enable_if_t<is_valid_char_type<CharT>>* = nullptr> |
4651 | | auto impl(const CharT (&r)[N], priority_tag<3>) noexcept |
4652 | | { |
4653 | | return std::basic_string_view<CharT>{r, N - 1}; |
4654 | | } |
4655 | | |
4656 | | // FILE* -> file_buffer |
4657 | | inline auto impl(std::FILE* file, priority_tag<3>) |
4658 | 0 | { |
4659 | 0 | return make_file_scan_buffer(file); |
4660 | 0 | } |
4661 | | |
4662 | | // contiguous + sized -> string_buffer |
4663 | | template <typename Range, |
4664 | | std::enable_if_t<ranges::contiguous_range<Range> && |
4665 | | ranges::sized_range<Range>>* = nullptr> |
4666 | | auto impl(const Range& r, priority_tag<2>) |
4667 | 11.2M | { |
4668 | 11.2M | if constexpr (is_valid_char_type<detail::char_t<Range>>) { |
4669 | 11.2M | return std::basic_string_view{ranges::data(r), ranges::size(r)}; |
4670 | | } |
4671 | | else { |
4672 | | return invalid_char_type{}; |
4673 | | } |
4674 | 11.2M | } _ZN3scn2v36detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKcS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE Line | Count | Source | 4667 | 4.41M | { | 4668 | 4.41M | if constexpr (is_valid_char_type<detail::char_t<Range>>) { | 4669 | 4.41M | return std::basic_string_view{ranges::data(r), ranges::size(r)}; | 4670 | | } | 4671 | | else { | 4672 | | return invalid_char_type{}; | 4673 | | } | 4674 | 4.41M | } |
_ZN3scn2v36detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKwS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE Line | Count | Source | 4667 | 6.87M | { | 4668 | 6.87M | if constexpr (is_valid_char_type<detail::char_t<Range>>) { | 4669 | 6.87M | return std::basic_string_view{ranges::data(r), ranges::size(r)}; | 4670 | | } | 4671 | | else { | 4672 | | return invalid_char_type{}; | 4673 | | } | 4674 | 6.87M | } |
|
4675 | | |
4676 | | // !contiguous + random-access + iterator can be made into a ptr |
4677 | | // for MSVC debug iterators |
4678 | | // -> string_buffer |
4679 | | template <typename Range, |
4680 | | std::enable_if_t<!ranges::contiguous_range<Range> && |
4681 | | ranges::random_access_range<Range> && |
4682 | | can_make_address_from_iterator< |
4683 | | ranges::iterator_t<Range>>>* = nullptr> |
4684 | | auto impl(const Range& r, priority_tag<1>) |
4685 | | { |
4686 | | if constexpr (is_valid_char_type<detail::char_t<Range>>) { |
4687 | | return make_string_view_from_pointers(to_address(ranges::begin(r)), |
4688 | | to_address(ranges::end(r))); |
4689 | | } |
4690 | | else { |
4691 | | return invalid_char_type{}; |
4692 | | } |
4693 | | } |
4694 | | |
4695 | | // forward -> forward_buffer<R> |
4696 | | template <typename Range> |
4697 | | auto impl(const Range& r, priority_tag<0>) |
4698 | 8.59M | { |
4699 | | if constexpr (std::is_same_v<Range, file_marker>) { |
4700 | | return file_marker_found{}; |
4701 | | } |
4702 | | else if constexpr (!ranges::forward_range<Range>) { |
4703 | | if constexpr (ranges::range<Range>) { |
4704 | | return insufficient_range{}; |
4705 | | } |
4706 | | else { |
4707 | | return invalid_input_range{}; |
4708 | | } |
4709 | | } |
4710 | | else if constexpr (!is_valid_char_type<detail::char_t<Range>>) { |
4711 | | return invalid_char_type{}; |
4712 | | } |
4713 | 8.59M | else { |
4714 | 8.59M | return make_forward_scan_buffer(r); |
4715 | 8.59M | } |
4716 | 8.59M | } auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<0ul>) Line | Count | Source | 4698 | 4.45M | { | 4699 | | if constexpr (std::is_same_v<Range, file_marker>) { | 4700 | | return file_marker_found{}; | 4701 | | } | 4702 | | else if constexpr (!ranges::forward_range<Range>) { | 4703 | | if constexpr (ranges::range<Range>) { | 4704 | | return insufficient_range{}; | 4705 | | } | 4706 | | else { | 4707 | | return invalid_input_range{}; | 4708 | | } | 4709 | | } | 4710 | | else if constexpr (!is_valid_char_type<detail::char_t<Range>>) { | 4711 | | return invalid_char_type{}; | 4712 | | } | 4713 | 4.45M | else { | 4714 | 4.45M | return make_forward_scan_buffer(r); | 4715 | 4.45M | } | 4716 | 4.45M | } |
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<0ul>) Line | Count | Source | 4698 | 4.14M | { | 4699 | | if constexpr (std::is_same_v<Range, file_marker>) { | 4700 | | return file_marker_found{}; | 4701 | | } | 4702 | | else if constexpr (!ranges::forward_range<Range>) { | 4703 | | if constexpr (ranges::range<Range>) { | 4704 | | return insufficient_range{}; | 4705 | | } | 4706 | | else { | 4707 | | return invalid_input_range{}; | 4708 | | } | 4709 | | } | 4710 | | else if constexpr (!is_valid_char_type<detail::char_t<Range>>) { | 4711 | | return invalid_char_type{}; | 4712 | | } | 4713 | 4.14M | else { | 4714 | 4.14M | return make_forward_scan_buffer(r); | 4715 | 4.14M | } | 4716 | 4.14M | } |
|
4717 | | } // namespace _make_scan_buffer |
4718 | | |
4719 | | template <typename Range> |
4720 | | inline constexpr bool is_scannable_range = |
4721 | | !std::is_base_of_v<invalid_input_range, |
4722 | | decltype(_make_scan_buffer::impl( |
4723 | | SCN_DECLVAL(const Range&)), |
4724 | | priority_tag<4>{})>; |
4725 | | |
4726 | | template <typename Range> |
4727 | | auto make_scan_buffer(const Range& range) |
4728 | 20.4M | { |
4729 | 20.4M | using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{})); |
4730 | | |
4731 | 20.4M | static_assert(!std::is_same_v<T, invalid_char_type>, |
4732 | 20.4M | "\n" |
4733 | 20.4M | "Unsupported range type given as input to a scanning " |
4734 | 20.4M | "function.\n" |
4735 | 20.4M | "A range needs to have a character type (value type) " |
4736 | 20.4M | "of either `char` or `wchar_t` to be scannable.\n" |
4737 | 20.4M | "For proper `wchar_t` support, <scn/xchar.h> needs " |
4738 | 20.4M | "to be included.\n" |
4739 | 20.4M | "See the scnlib documentation for more details."); |
4740 | 20.4M | static_assert( |
4741 | 20.4M | !std::is_same_v<T, custom_char_traits>, |
4742 | 20.4M | "\n" |
4743 | 20.4M | "Unsupported range type given as input to a scanning " |
4744 | 20.4M | "function.\n" |
4745 | 20.4M | "String types (std::basic_string, and std::basic_string_view) " |
4746 | 20.4M | "need to use std::char_traits. Strings with custom Traits are " |
4747 | 20.4M | "not supported."); |
4748 | 20.4M | static_assert(!std::is_same_v<T, file_marker_found>, |
4749 | 20.4M | "\n" |
4750 | 20.4M | "Unsupported range type given as input to a scanning " |
4751 | 20.4M | "function.\n" |
4752 | 20.4M | "file_marker_found cannot be used as an " |
4753 | 20.4M | "source range type to scn::scan.\n" |
4754 | 20.4M | "To read from stdin, use scn::input or scn::prompt, " |
4755 | 20.4M | "and do not provide an explicit source range, " |
4756 | 20.4M | "or use scn::scan with a FILE* directly."); |
4757 | 20.4M | static_assert(!std::is_same_v<T, insufficient_range>, |
4758 | 20.4M | "\n" |
4759 | 20.4M | "Unsupported range type given as input to a scanning " |
4760 | 20.4M | "function.\n" |
4761 | 20.4M | "In order to be scannable, a range needs to satisfy " |
4762 | 20.4M | "`forward_range`. `input_range` is not sufficient."); |
4763 | 20.4M | static_assert(!std::is_same_v<T, invalid_input_range>, |
4764 | 20.4M | "\n" |
4765 | 20.4M | "Unsupported range type given as input to a scanning " |
4766 | 20.4M | "function.\n" |
4767 | 20.4M | "A range needs to model forward_range and have a valid " |
4768 | 20.4M | "character type (char or wchar_t) to be scannable.\n" |
4769 | 20.4M | "Examples of scannable ranges are std::string, " |
4770 | 20.4M | "std::string_view, " |
4771 | 20.4M | "std::vector<char>, and scn::istreambuf_view.\n" |
4772 | 20.4M | "See the scnlib documentation for more details."); |
4773 | | |
4774 | 20.4M | return _make_scan_buffer::impl(range, priority_tag<4>{}); |
4775 | 20.4M | } auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&) Line | Count | Source | 4728 | 4.41M | { | 4729 | 4.41M | using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{})); | 4730 | | | 4731 | 4.41M | static_assert(!std::is_same_v<T, invalid_char_type>, | 4732 | 4.41M | "\n" | 4733 | 4.41M | "Unsupported range type given as input to a scanning " | 4734 | 4.41M | "function.\n" | 4735 | 4.41M | "A range needs to have a character type (value type) " | 4736 | 4.41M | "of either `char` or `wchar_t` to be scannable.\n" | 4737 | 4.41M | "For proper `wchar_t` support, <scn/xchar.h> needs " | 4738 | 4.41M | "to be included.\n" | 4739 | 4.41M | "See the scnlib documentation for more details."); | 4740 | 4.41M | static_assert( | 4741 | 4.41M | !std::is_same_v<T, custom_char_traits>, | 4742 | 4.41M | "\n" | 4743 | 4.41M | "Unsupported range type given as input to a scanning " | 4744 | 4.41M | "function.\n" | 4745 | 4.41M | "String types (std::basic_string, and std::basic_string_view) " | 4746 | 4.41M | "need to use std::char_traits. Strings with custom Traits are " | 4747 | 4.41M | "not supported."); | 4748 | 4.41M | static_assert(!std::is_same_v<T, file_marker_found>, | 4749 | 4.41M | "\n" | 4750 | 4.41M | "Unsupported range type given as input to a scanning " | 4751 | 4.41M | "function.\n" | 4752 | 4.41M | "file_marker_found cannot be used as an " | 4753 | 4.41M | "source range type to scn::scan.\n" | 4754 | 4.41M | "To read from stdin, use scn::input or scn::prompt, " | 4755 | 4.41M | "and do not provide an explicit source range, " | 4756 | 4.41M | "or use scn::scan with a FILE* directly."); | 4757 | 4.41M | static_assert(!std::is_same_v<T, insufficient_range>, | 4758 | 4.41M | "\n" | 4759 | 4.41M | "Unsupported range type given as input to a scanning " | 4760 | 4.41M | "function.\n" | 4761 | 4.41M | "In order to be scannable, a range needs to satisfy " | 4762 | 4.41M | "`forward_range`. `input_range` is not sufficient."); | 4763 | 4.41M | static_assert(!std::is_same_v<T, invalid_input_range>, | 4764 | 4.41M | "\n" | 4765 | 4.41M | "Unsupported range type given as input to a scanning " | 4766 | 4.41M | "function.\n" | 4767 | 4.41M | "A range needs to model forward_range and have a valid " | 4768 | 4.41M | "character type (char or wchar_t) to be scannable.\n" | 4769 | 4.41M | "Examples of scannable ranges are std::string, " | 4770 | 4.41M | "std::string_view, " | 4771 | 4.41M | "std::vector<char>, and scn::istreambuf_view.\n" | 4772 | 4.41M | "See the scnlib documentation for more details."); | 4773 | | | 4774 | 4.41M | return _make_scan_buffer::impl(range, priority_tag<4>{}); | 4775 | 4.41M | } |
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&) Line | Count | Source | 4728 | 4.45M | { | 4729 | 4.45M | using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{})); | 4730 | | | 4731 | 4.45M | static_assert(!std::is_same_v<T, invalid_char_type>, | 4732 | 4.45M | "\n" | 4733 | 4.45M | "Unsupported range type given as input to a scanning " | 4734 | 4.45M | "function.\n" | 4735 | 4.45M | "A range needs to have a character type (value type) " | 4736 | 4.45M | "of either `char` or `wchar_t` to be scannable.\n" | 4737 | 4.45M | "For proper `wchar_t` support, <scn/xchar.h> needs " | 4738 | 4.45M | "to be included.\n" | 4739 | 4.45M | "See the scnlib documentation for more details."); | 4740 | 4.45M | static_assert( | 4741 | 4.45M | !std::is_same_v<T, custom_char_traits>, | 4742 | 4.45M | "\n" | 4743 | 4.45M | "Unsupported range type given as input to a scanning " | 4744 | 4.45M | "function.\n" | 4745 | 4.45M | "String types (std::basic_string, and std::basic_string_view) " | 4746 | 4.45M | "need to use std::char_traits. Strings with custom Traits are " | 4747 | 4.45M | "not supported."); | 4748 | 4.45M | static_assert(!std::is_same_v<T, file_marker_found>, | 4749 | 4.45M | "\n" | 4750 | 4.45M | "Unsupported range type given as input to a scanning " | 4751 | 4.45M | "function.\n" | 4752 | 4.45M | "file_marker_found cannot be used as an " | 4753 | 4.45M | "source range type to scn::scan.\n" | 4754 | 4.45M | "To read from stdin, use scn::input or scn::prompt, " | 4755 | 4.45M | "and do not provide an explicit source range, " | 4756 | 4.45M | "or use scn::scan with a FILE* directly."); | 4757 | 4.45M | static_assert(!std::is_same_v<T, insufficient_range>, | 4758 | 4.45M | "\n" | 4759 | 4.45M | "Unsupported range type given as input to a scanning " | 4760 | 4.45M | "function.\n" | 4761 | 4.45M | "In order to be scannable, a range needs to satisfy " | 4762 | 4.45M | "`forward_range`. `input_range` is not sufficient."); | 4763 | 4.45M | static_assert(!std::is_same_v<T, invalid_input_range>, | 4764 | 4.45M | "\n" | 4765 | 4.45M | "Unsupported range type given as input to a scanning " | 4766 | 4.45M | "function.\n" | 4767 | 4.45M | "A range needs to model forward_range and have a valid " | 4768 | 4.45M | "character type (char or wchar_t) to be scannable.\n" | 4769 | 4.45M | "Examples of scannable ranges are std::string, " | 4770 | 4.45M | "std::string_view, " | 4771 | 4.45M | "std::vector<char>, and scn::istreambuf_view.\n" | 4772 | 4.45M | "See the scnlib documentation for more details."); | 4773 | | | 4774 | 4.45M | return _make_scan_buffer::impl(range, priority_tag<4>{}); | 4775 | 4.45M | } |
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&) Line | Count | Source | 4728 | 6.87M | { | 4729 | 6.87M | using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{})); | 4730 | | | 4731 | 6.87M | static_assert(!std::is_same_v<T, invalid_char_type>, | 4732 | 6.87M | "\n" | 4733 | 6.87M | "Unsupported range type given as input to a scanning " | 4734 | 6.87M | "function.\n" | 4735 | 6.87M | "A range needs to have a character type (value type) " | 4736 | 6.87M | "of either `char` or `wchar_t` to be scannable.\n" | 4737 | 6.87M | "For proper `wchar_t` support, <scn/xchar.h> needs " | 4738 | 6.87M | "to be included.\n" | 4739 | 6.87M | "See the scnlib documentation for more details."); | 4740 | 6.87M | static_assert( | 4741 | 6.87M | !std::is_same_v<T, custom_char_traits>, | 4742 | 6.87M | "\n" | 4743 | 6.87M | "Unsupported range type given as input to a scanning " | 4744 | 6.87M | "function.\n" | 4745 | 6.87M | "String types (std::basic_string, and std::basic_string_view) " | 4746 | 6.87M | "need to use std::char_traits. Strings with custom Traits are " | 4747 | 6.87M | "not supported."); | 4748 | 6.87M | static_assert(!std::is_same_v<T, file_marker_found>, | 4749 | 6.87M | "\n" | 4750 | 6.87M | "Unsupported range type given as input to a scanning " | 4751 | 6.87M | "function.\n" | 4752 | 6.87M | "file_marker_found cannot be used as an " | 4753 | 6.87M | "source range type to scn::scan.\n" | 4754 | 6.87M | "To read from stdin, use scn::input or scn::prompt, " | 4755 | 6.87M | "and do not provide an explicit source range, " | 4756 | 6.87M | "or use scn::scan with a FILE* directly."); | 4757 | 6.87M | static_assert(!std::is_same_v<T, insufficient_range>, | 4758 | 6.87M | "\n" | 4759 | 6.87M | "Unsupported range type given as input to a scanning " | 4760 | 6.87M | "function.\n" | 4761 | 6.87M | "In order to be scannable, a range needs to satisfy " | 4762 | 6.87M | "`forward_range`. `input_range` is not sufficient."); | 4763 | 6.87M | static_assert(!std::is_same_v<T, invalid_input_range>, | 4764 | 6.87M | "\n" | 4765 | 6.87M | "Unsupported range type given as input to a scanning " | 4766 | 6.87M | "function.\n" | 4767 | 6.87M | "A range needs to model forward_range and have a valid " | 4768 | 6.87M | "character type (char or wchar_t) to be scannable.\n" | 4769 | 6.87M | "Examples of scannable ranges are std::string, " | 4770 | 6.87M | "std::string_view, " | 4771 | 6.87M | "std::vector<char>, and scn::istreambuf_view.\n" | 4772 | 6.87M | "See the scnlib documentation for more details."); | 4773 | | | 4774 | 6.87M | return _make_scan_buffer::impl(range, priority_tag<4>{}); | 4775 | 6.87M | } |
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&) Line | Count | Source | 4728 | 4.14M | { | 4729 | 4.14M | using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{})); | 4730 | | | 4731 | 4.14M | static_assert(!std::is_same_v<T, invalid_char_type>, | 4732 | 4.14M | "\n" | 4733 | 4.14M | "Unsupported range type given as input to a scanning " | 4734 | 4.14M | "function.\n" | 4735 | 4.14M | "A range needs to have a character type (value type) " | 4736 | 4.14M | "of either `char` or `wchar_t` to be scannable.\n" | 4737 | 4.14M | "For proper `wchar_t` support, <scn/xchar.h> needs " | 4738 | 4.14M | "to be included.\n" | 4739 | 4.14M | "See the scnlib documentation for more details."); | 4740 | 4.14M | static_assert( | 4741 | 4.14M | !std::is_same_v<T, custom_char_traits>, | 4742 | 4.14M | "\n" | 4743 | 4.14M | "Unsupported range type given as input to a scanning " | 4744 | 4.14M | "function.\n" | 4745 | 4.14M | "String types (std::basic_string, and std::basic_string_view) " | 4746 | 4.14M | "need to use std::char_traits. Strings with custom Traits are " | 4747 | 4.14M | "not supported."); | 4748 | 4.14M | static_assert(!std::is_same_v<T, file_marker_found>, | 4749 | 4.14M | "\n" | 4750 | 4.14M | "Unsupported range type given as input to a scanning " | 4751 | 4.14M | "function.\n" | 4752 | 4.14M | "file_marker_found cannot be used as an " | 4753 | 4.14M | "source range type to scn::scan.\n" | 4754 | 4.14M | "To read from stdin, use scn::input or scn::prompt, " | 4755 | 4.14M | "and do not provide an explicit source range, " | 4756 | 4.14M | "or use scn::scan with a FILE* directly."); | 4757 | 4.14M | static_assert(!std::is_same_v<T, insufficient_range>, | 4758 | 4.14M | "\n" | 4759 | 4.14M | "Unsupported range type given as input to a scanning " | 4760 | 4.14M | "function.\n" | 4761 | 4.14M | "In order to be scannable, a range needs to satisfy " | 4762 | 4.14M | "`forward_range`. `input_range` is not sufficient."); | 4763 | 4.14M | static_assert(!std::is_same_v<T, invalid_input_range>, | 4764 | 4.14M | "\n" | 4765 | 4.14M | "Unsupported range type given as input to a scanning " | 4766 | 4.14M | "function.\n" | 4767 | 4.14M | "A range needs to model forward_range and have a valid " | 4768 | 4.14M | "character type (char or wchar_t) to be scannable.\n" | 4769 | 4.14M | "Examples of scannable ranges are std::string, " | 4770 | 4.14M | "std::string_view, " | 4771 | 4.14M | "std::vector<char>, and scn::istreambuf_view.\n" | 4772 | 4.14M | "See the scnlib documentation for more details."); | 4773 | | | 4774 | 4.14M | return _make_scan_buffer::impl(range, priority_tag<4>{}); | 4775 | 4.14M | } |
auto scn::v3::detail::make_scan_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&) Line | Count | Source | 4728 | 192k | { | 4729 | 192k | using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{})); | 4730 | | | 4731 | 192k | static_assert(!std::is_same_v<T, invalid_char_type>, | 4732 | 192k | "\n" | 4733 | 192k | "Unsupported range type given as input to a scanning " | 4734 | 192k | "function.\n" | 4735 | 192k | "A range needs to have a character type (value type) " | 4736 | 192k | "of either `char` or `wchar_t` to be scannable.\n" | 4737 | 192k | "For proper `wchar_t` support, <scn/xchar.h> needs " | 4738 | 192k | "to be included.\n" | 4739 | 192k | "See the scnlib documentation for more details."); | 4740 | 192k | static_assert( | 4741 | 192k | !std::is_same_v<T, custom_char_traits>, | 4742 | 192k | "\n" | 4743 | 192k | "Unsupported range type given as input to a scanning " | 4744 | 192k | "function.\n" | 4745 | 192k | "String types (std::basic_string, and std::basic_string_view) " | 4746 | 192k | "need to use std::char_traits. Strings with custom Traits are " | 4747 | 192k | "not supported."); | 4748 | 192k | static_assert(!std::is_same_v<T, file_marker_found>, | 4749 | 192k | "\n" | 4750 | 192k | "Unsupported range type given as input to a scanning " | 4751 | 192k | "function.\n" | 4752 | 192k | "file_marker_found cannot be used as an " | 4753 | 192k | "source range type to scn::scan.\n" | 4754 | 192k | "To read from stdin, use scn::input or scn::prompt, " | 4755 | 192k | "and do not provide an explicit source range, " | 4756 | 192k | "or use scn::scan with a FILE* directly."); | 4757 | 192k | static_assert(!std::is_same_v<T, insufficient_range>, | 4758 | 192k | "\n" | 4759 | 192k | "Unsupported range type given as input to a scanning " | 4760 | 192k | "function.\n" | 4761 | 192k | "In order to be scannable, a range needs to satisfy " | 4762 | 192k | "`forward_range`. `input_range` is not sufficient."); | 4763 | 192k | static_assert(!std::is_same_v<T, invalid_input_range>, | 4764 | 192k | "\n" | 4765 | 192k | "Unsupported range type given as input to a scanning " | 4766 | 192k | "function.\n" | 4767 | 192k | "A range needs to model forward_range and have a valid " | 4768 | 192k | "character type (char or wchar_t) to be scannable.\n" | 4769 | 192k | "Examples of scannable ranges are std::string, " | 4770 | 192k | "std::string_view, " | 4771 | 192k | "std::vector<char>, and scn::istreambuf_view.\n" | 4772 | 192k | "See the scnlib documentation for more details."); | 4773 | | | 4774 | 192k | return _make_scan_buffer::impl(range, priority_tag<4>{}); | 4775 | 192k | } |
auto scn::v3::detail::make_scan_buffer<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&) Line | Count | Source | 4728 | 384k | { | 4729 | 384k | using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{})); | 4730 | | | 4731 | 384k | static_assert(!std::is_same_v<T, invalid_char_type>, | 4732 | 384k | "\n" | 4733 | 384k | "Unsupported range type given as input to a scanning " | 4734 | 384k | "function.\n" | 4735 | 384k | "A range needs to have a character type (value type) " | 4736 | 384k | "of either `char` or `wchar_t` to be scannable.\n" | 4737 | 384k | "For proper `wchar_t` support, <scn/xchar.h> needs " | 4738 | 384k | "to be included.\n" | 4739 | 384k | "See the scnlib documentation for more details."); | 4740 | 384k | static_assert( | 4741 | 384k | !std::is_same_v<T, custom_char_traits>, | 4742 | 384k | "\n" | 4743 | 384k | "Unsupported range type given as input to a scanning " | 4744 | 384k | "function.\n" | 4745 | 384k | "String types (std::basic_string, and std::basic_string_view) " | 4746 | 384k | "need to use std::char_traits. Strings with custom Traits are " | 4747 | 384k | "not supported."); | 4748 | 384k | static_assert(!std::is_same_v<T, file_marker_found>, | 4749 | 384k | "\n" | 4750 | 384k | "Unsupported range type given as input to a scanning " | 4751 | 384k | "function.\n" | 4752 | 384k | "file_marker_found cannot be used as an " | 4753 | 384k | "source range type to scn::scan.\n" | 4754 | 384k | "To read from stdin, use scn::input or scn::prompt, " | 4755 | 384k | "and do not provide an explicit source range, " | 4756 | 384k | "or use scn::scan with a FILE* directly."); | 4757 | 384k | static_assert(!std::is_same_v<T, insufficient_range>, | 4758 | 384k | "\n" | 4759 | 384k | "Unsupported range type given as input to a scanning " | 4760 | 384k | "function.\n" | 4761 | 384k | "In order to be scannable, a range needs to satisfy " | 4762 | 384k | "`forward_range`. `input_range` is not sufficient."); | 4763 | 384k | static_assert(!std::is_same_v<T, invalid_input_range>, | 4764 | 384k | "\n" | 4765 | 384k | "Unsupported range type given as input to a scanning " | 4766 | 384k | "function.\n" | 4767 | 384k | "A range needs to model forward_range and have a valid " | 4768 | 384k | "character type (char or wchar_t) to be scannable.\n" | 4769 | 384k | "Examples of scannable ranges are std::string, " | 4770 | 384k | "std::string_view, " | 4771 | 384k | "std::vector<char>, and scn::istreambuf_view.\n" | 4772 | 384k | "See the scnlib documentation for more details."); | 4773 | | | 4774 | 384k | return _make_scan_buffer::impl(range, priority_tag<4>{}); | 4775 | 384k | } |
|
4776 | | |
4777 | | template < |
4778 | | typename Range, |
4779 | | std::enable_if_t< |
4780 | | !std::is_reference_v<Range> && !ranges::borrowed_range<Range> && |
4781 | | !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr> |
4782 | | auto make_scan_buffer(Range&&) = delete; |
4783 | | } // namespace detail |
4784 | | |
4785 | | ///////////////////////////////////////////////////////////////// |
4786 | | // Argument type erasure |
4787 | | ///////////////////////////////////////////////////////////////// |
4788 | | |
4789 | | namespace detail { |
4790 | | enum class arg_type : unsigned char { |
4791 | | none_type, |
4792 | | schar_type, |
4793 | | short_type, |
4794 | | int_type, |
4795 | | long_type, |
4796 | | llong_type, |
4797 | | uchar_type, |
4798 | | ushort_type, |
4799 | | uint_type, |
4800 | | ulong_type, |
4801 | | ullong_type, |
4802 | | bool_type, |
4803 | | narrow_character_type, |
4804 | | wide_character_type, |
4805 | | code_point_type, |
4806 | | pointer_type, |
4807 | | float_type, |
4808 | | double_type, |
4809 | | ldouble_type, |
4810 | | narrow_string_view_type, |
4811 | | wide_string_view_type, |
4812 | | narrow_string_type, |
4813 | | wide_string_type, |
4814 | | narrow_regex_matches_type, |
4815 | | wide_regex_matches_type, |
4816 | | custom_type, |
4817 | | last_type = custom_type |
4818 | | }; |
4819 | | |
4820 | | template <typename> |
4821 | | inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM; |
4822 | | |
4823 | | template <typename T, typename CharT> |
4824 | | struct arg_type_constant |
4825 | | : std::integral_constant<arg_type, arg_type::custom_type> { |
4826 | | using type = T; |
4827 | | }; |
4828 | | |
4829 | | #define SCN_TYPE_CONSTANT(Type, C, Disabled) \ |
4830 | | template <typename CharT> \ |
4831 | | struct arg_type_constant<Type, CharT> \ |
4832 | | : std::integral_constant<arg_type, arg_type::C> { \ |
4833 | | using type = Type; \ |
4834 | | }; \ |
4835 | | template <> \ |
4836 | | inline constexpr bool is_type_disabled<Type> = Disabled |
4837 | | |
4838 | | SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR); |
4839 | | SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT); |
4840 | | SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT); |
4841 | | SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG); |
4842 | | SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG); |
4843 | | SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR); |
4844 | | SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT); |
4845 | | SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT); |
4846 | | SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG); |
4847 | | SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG); |
4848 | | SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL); |
4849 | | SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR); |
4850 | | SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR); |
4851 | | SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32); |
4852 | | SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER); |
4853 | | SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT); |
4854 | | SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE); |
4855 | | SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE); |
4856 | | SCN_TYPE_CONSTANT(std::string_view, |
4857 | | narrow_string_view_type, |
4858 | | SCN_DISABLE_TYPE_STRING_VIEW); |
4859 | | SCN_TYPE_CONSTANT(std::wstring_view, |
4860 | | wide_string_view_type, |
4861 | | SCN_DISABLE_TYPE_STRING_VIEW); |
4862 | | SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING); |
4863 | | SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING); |
4864 | | SCN_TYPE_CONSTANT(regex_matches, narrow_regex_matches_type, SCN_DISABLE_REGEX); |
4865 | | SCN_TYPE_CONSTANT(wregex_matches, wide_regex_matches_type, SCN_DISABLE_REGEX); |
4866 | | |
4867 | | #undef SCN_TYPE_CONSTANT |
4868 | | |
4869 | | struct custom_value_type { |
4870 | | void* value; |
4871 | | scan_error (*scan)(void* arg, void* pctx, void* ctx); |
4872 | | }; |
4873 | | |
4874 | | struct unscannable {}; |
4875 | | struct unscannable_char : unscannable {}; |
4876 | | struct unscannable_const : unscannable {}; |
4877 | | struct unscannable_disabled : unscannable { |
4878 | | unscannable_disabled() = default; |
4879 | | |
4880 | | template <typename T> |
4881 | | constexpr unscannable_disabled(T&&) |
4882 | | { |
4883 | | } |
4884 | | }; |
4885 | | |
4886 | | struct needs_context_tag {}; |
4887 | | |
4888 | | template <typename Context> |
4889 | | struct context_tag { |
4890 | | using type = Context; |
4891 | | }; |
4892 | | |
4893 | | template <typename T, typename Context> |
4894 | | struct custom_wrapper { |
4895 | | using context_type = Context; |
4896 | | T& val; |
4897 | | }; |
4898 | | |
4899 | | class arg_value { |
4900 | | public: |
4901 | | // trivial default initialization in constexpr |
4902 | | #if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \ |
4903 | | SCN_STD > SCN_STD_20 |
4904 | | constexpr |
4905 | | #endif |
4906 | 20.0M | arg_value() = default; |
4907 | | |
4908 | | template <typename T> |
4909 | 20.4M | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} |
4910 | 20.4M | { |
4911 | 20.4M | } scn::v3::detail::arg_value::arg_value<signed char>(signed char&) Line | Count | Source | 4909 | 859k | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 859k | { | 4911 | 859k | } |
scn::v3::detail::arg_value::arg_value<unsigned char>(unsigned char&) Line | Count | Source | 4909 | 832k | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 832k | { | 4911 | 832k | } |
scn::v3::detail::arg_value::arg_value<int>(int&) Line | Count | Source | 4909 | 1.09M | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 1.09M | { | 4911 | 1.09M | } |
scn::v3::detail::arg_value::arg_value<unsigned int>(unsigned int&) Line | Count | Source | 4909 | 981k | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 981k | { | 4911 | 981k | } |
scn::v3::detail::arg_value::arg_value<long long>(long long&) Line | Count | Source | 4909 | 1.04M | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 1.04M | { | 4911 | 1.04M | } |
scn::v3::detail::arg_value::arg_value<unsigned long long>(unsigned long long&) Line | Count | Source | 4909 | 925k | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 925k | { | 4911 | 925k | } |
scn::v3::detail::arg_value::arg_value<float>(float&) Line | Count | Source | 4909 | 1.63M | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 1.63M | { | 4911 | 1.63M | } |
scn::v3::detail::arg_value::arg_value<double>(double&) Line | Count | Source | 4909 | 1.81M | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 1.81M | { | 4911 | 1.81M | } |
scn::v3::detail::arg_value::arg_value<long double>(long double&) Line | Count | Source | 4909 | 1.77M | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 1.77M | { | 4911 | 1.77M | } |
scn::v3::detail::arg_value::arg_value<char>(char&) Line | Count | Source | 4909 | 21.3k | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 21.3k | { | 4911 | 21.3k | } |
scn::v3::detail::arg_value::arg_value<bool>(bool&) Line | Count | Source | 4909 | 64.0k | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 64.0k | { | 4911 | 64.0k | } |
scn::v3::detail::arg_value::arg_value<void*>(void*&) Line | Count | Source | 4909 | 64.0k | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 64.0k | { | 4911 | 64.0k | } |
scn::v3::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) Line | Count | Source | 4909 | 691k | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 691k | { | 4911 | 691k | } |
scn::v3::detail::arg_value::arg_value<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) Line | Count | Source | 4909 | 5.52M | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 5.52M | { | 4911 | 5.52M | } |
scn::v3::detail::arg_value::arg_value<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) Line | Count | Source | 4909 | 306k | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 306k | { | 4911 | 306k | } |
scn::v3::detail::arg_value::arg_value<wchar_t>(wchar_t&) Line | Count | Source | 4909 | 42.6k | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 42.6k | { | 4911 | 42.6k | } |
scn::v3::detail::arg_value::arg_value<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) Line | Count | Source | 4909 | 2.77M | explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)} | 4910 | 2.77M | { | 4911 | 2.77M | } |
|
4912 | | |
4913 | | template <typename T, typename Context> |
4914 | | explicit constexpr arg_value(custom_wrapper<T, Context> val) |
4915 | | : custom_value{static_cast<void*>(&val.val), |
4916 | | scan_custom_arg<T, Context>} |
4917 | | { |
4918 | | } |
4919 | | |
4920 | | arg_value(unscannable); |
4921 | | arg_value(unscannable_char); |
4922 | | arg_value(unscannable_const); |
4923 | | arg_value(unscannable_disabled); |
4924 | | |
4925 | | union { |
4926 | | void* ref_value{nullptr}; |
4927 | | custom_value_type custom_value; |
4928 | | }; |
4929 | | |
4930 | | private: |
4931 | | template <typename T, typename Context> |
4932 | | static scan_error scan_custom_arg(void* arg, void* pctx, void* ctx) |
4933 | | { |
4934 | | static_assert(!is_type_disabled<T>, |
4935 | | "Scanning of custom types is disabled by " |
4936 | | "SCN_DISABLE_TYPE_CUSTOM"); |
4937 | | SCN_EXPECT(arg && pctx && ctx); |
4938 | | |
4939 | | using context_type = Context; |
4940 | | using parse_context_type = typename context_type::parse_context_type; |
4941 | | using scanner_type = typename context_type::template scanner_type<T>; |
4942 | | |
4943 | | auto s = scanner_type{}; |
4944 | | |
4945 | | auto& arg_ref = *static_cast<T*>(arg); |
4946 | | auto& pctx_ref = *static_cast<parse_context_type*>(pctx); |
4947 | | auto& ctx_ref = *static_cast<context_type*>(ctx); |
4948 | | |
4949 | | SCN_TRY_ERR(fmt_it, s.parse(pctx_ref)); |
4950 | | pctx_ref.advance_to(fmt_it); |
4951 | | |
4952 | | SCN_TRY_ERR(it, s.scan(arg_ref, ctx_ref)); |
4953 | | ctx_ref.advance_to(SCN_MOVE(it)); |
4954 | | |
4955 | | return {}; |
4956 | | } |
4957 | | }; |
4958 | | |
4959 | | template <typename CharT> |
4960 | | struct arg_mapper { |
4961 | | using char_type = CharT; |
4962 | | using other_char_type = |
4963 | | std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>; |
4964 | | |
4965 | | #define SCN_ARG_MAPPER(T) \ |
4966 | | static auto map(T& val) \ |
4967 | | -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \ |
4968 | 20.4M | { \ |
4969 | 20.4M | return val; \ |
4970 | 20.4M | } scn::v3::detail::arg_mapper<char>::map(signed char&) Line | Count | Source | 4968 | 683k | { \ | 4969 | 683k | return val; \ | 4970 | 683k | } |
scn::v3::detail::arg_mapper<char>::map(unsigned char&) Line | Count | Source | 4968 | 656k | { \ | 4969 | 656k | return val; \ | 4970 | 656k | } |
scn::v3::detail::arg_mapper<char>::map(int&) Line | Count | Source | 4968 | 877k | { \ | 4969 | 877k | return val; \ | 4970 | 877k | } |
scn::v3::detail::arg_mapper<char>::map(unsigned int&) Line | Count | Source | 4968 | 762k | { \ | 4969 | 762k | return val; \ | 4970 | 762k | } |
scn::v3::detail::arg_mapper<char>::map(long long&) Line | Count | Source | 4968 | 872k | { \ | 4969 | 872k | return val; \ | 4970 | 872k | } |
scn::v3::detail::arg_mapper<char>::map(unsigned long long&) Line | Count | Source | 4968 | 748k | { \ | 4969 | 748k | return val; \ | 4970 | 748k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(signed char&) Line | Count | Source | 4968 | 176k | { \ | 4969 | 176k | return val; \ | 4970 | 176k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned char&) Line | Count | Source | 4968 | 176k | { \ | 4969 | 176k | return val; \ | 4970 | 176k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(int&) Line | Count | Source | 4968 | 219k | { \ | 4969 | 219k | return val; \ | 4970 | 219k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned int&) Line | Count | Source | 4968 | 219k | { \ | 4969 | 219k | return val; \ | 4970 | 219k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(long long&) Line | Count | Source | 4968 | 176k | { \ | 4969 | 176k | return val; \ | 4970 | 176k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned long long&) Line | Count | Source | 4968 | 176k | { \ | 4969 | 176k | return val; \ | 4970 | 176k | } |
scn::v3::detail::arg_mapper<char>::map(float&) Line | Count | Source | 4968 | 1.10M | { \ | 4969 | 1.10M | return val; \ | 4970 | 1.10M | } |
scn::v3::detail::arg_mapper<char>::map(double&) Line | Count | Source | 4968 | 1.16M | { \ | 4969 | 1.16M | return val; \ | 4970 | 1.16M | } |
scn::v3::detail::arg_mapper<char>::map(long double&) Line | Count | Source | 4968 | 1.16M | { \ | 4969 | 1.16M | return val; \ | 4970 | 1.16M | } |
scn::v3::detail::arg_mapper<wchar_t>::map(float&) Line | Count | Source | 4968 | 536k | { \ | 4969 | 536k | return val; \ | 4970 | 536k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(double&) Line | Count | Source | 4968 | 649k | { \ | 4969 | 649k | return val; \ | 4970 | 649k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(long double&) Line | Count | Source | 4968 | 619k | { \ | 4969 | 619k | return val; \ | 4970 | 619k | } |
scn::v3::detail::arg_mapper<char>::map(bool&) Line | Count | Source | 4968 | 21.3k | { \ | 4969 | 21.3k | return val; \ | 4970 | 21.3k | } |
scn::v3::detail::arg_mapper<char>::map(void*&) Line | Count | Source | 4968 | 21.3k | { \ | 4969 | 21.3k | return val; \ | 4970 | 21.3k | } |
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) Line | Count | Source | 4968 | 648k | { \ | 4969 | 648k | return val; \ | 4970 | 648k | } |
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) Line | Count | Source | 4968 | 21.3k | { \ | 4969 | 21.3k | return val; \ | 4970 | 21.3k | } |
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) Line | Count | Source | 4968 | 306k | { \ | 4969 | 306k | return val; \ | 4970 | 306k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(wchar_t&) Line | Count | Source | 4968 | 42.6k | { \ | 4969 | 42.6k | return val; \ | 4970 | 42.6k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(bool&) Line | Count | Source | 4968 | 42.6k | { \ | 4969 | 42.6k | return val; \ | 4970 | 42.6k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(void*&) Line | Count | Source | 4968 | 42.6k | { \ | 4969 | 42.6k | return val; \ | 4970 | 42.6k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) Line | Count | Source | 4968 | 42.6k | { \ | 4969 | 42.6k | return val; \ | 4970 | 42.6k | } |
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) Line | Count | Source | 4968 | 5.50M | { \ | 4969 | 5.50M | return val; \ | 4970 | 5.50M | } |
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) Line | Count | Source | 4968 | 2.77M | { \ | 4969 | 2.77M | return val; \ | 4970 | 2.77M | } |
|
4971 | | |
4972 | | SCN_ARG_MAPPER(signed char) |
4973 | | SCN_ARG_MAPPER(short) |
4974 | | SCN_ARG_MAPPER(int) |
4975 | | SCN_ARG_MAPPER(long) |
4976 | | SCN_ARG_MAPPER(long long) |
4977 | | SCN_ARG_MAPPER(unsigned char) |
4978 | | SCN_ARG_MAPPER(unsigned short) |
4979 | | SCN_ARG_MAPPER(unsigned) |
4980 | | SCN_ARG_MAPPER(unsigned long) |
4981 | | SCN_ARG_MAPPER(unsigned long long) |
4982 | | SCN_ARG_MAPPER(wchar_t) |
4983 | | SCN_ARG_MAPPER(char32_t) |
4984 | | SCN_ARG_MAPPER(bool) |
4985 | | SCN_ARG_MAPPER(void*) |
4986 | | SCN_ARG_MAPPER(float) |
4987 | | SCN_ARG_MAPPER(double) |
4988 | | SCN_ARG_MAPPER(long double) |
4989 | | |
4990 | | SCN_ARG_MAPPER(std::basic_string_view<char_type>) |
4991 | | SCN_ARG_MAPPER(std::string) |
4992 | | SCN_ARG_MAPPER(std::wstring) |
4993 | | |
4994 | | #undef SCN_ARG_MAPPER |
4995 | | |
4996 | | static decltype(auto) map(char& val) |
4997 | 21.3k | { |
4998 | | if constexpr (std::is_same_v<char_type, char> && |
4999 | 21.3k | !is_type_disabled<char_type>) { |
5000 | 21.3k | return val; |
5001 | | } |
5002 | | else if constexpr (is_type_disabled<char_type>) { |
5003 | | return unscannable_disabled{val}; |
5004 | | } |
5005 | | else { |
5006 | | SCN_UNUSED(val); |
5007 | | return unscannable_char{}; |
5008 | | } |
5009 | 21.3k | } |
5010 | | |
5011 | | static decltype(auto) map(basic_regex_matches<char_type>& val) |
5012 | | { |
5013 | | if constexpr (is_type_disabled<char_type>) { |
5014 | | return unscannable_disabled{val}; |
5015 | | } |
5016 | | else { |
5017 | | return val; |
5018 | | } |
5019 | | } |
5020 | | |
5021 | | static unscannable_char map(std::basic_string_view<other_char_type>&) |
5022 | | { |
5023 | | return {}; |
5024 | | } |
5025 | | static unscannable_char map(basic_regex_matches<other_char_type>&) |
5026 | | { |
5027 | | return {}; |
5028 | | } |
5029 | | |
5030 | | template <typename T> |
5031 | | static std::enable_if_t<std::is_constructible_v<scanner<T, char_type>>, |
5032 | | needs_context_tag> |
5033 | | map(T&) |
5034 | | { |
5035 | | return {}; |
5036 | | } |
5037 | | |
5038 | | template <typename T, typename Context> |
5039 | | static std::enable_if_t<std::is_constructible_v<scanner<T, char_type>>, |
5040 | | custom_wrapper<T, Context>> |
5041 | | map(T& val, context_tag<Context>) |
5042 | | { |
5043 | | return {val}; |
5044 | | } |
5045 | | |
5046 | | static unscannable map(...) |
5047 | | { |
5048 | | return {}; |
5049 | | } |
5050 | | }; |
5051 | | |
5052 | | template <typename T, typename CharT> |
5053 | | using mapped_type_constant = arg_type_constant< |
5054 | | std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>, |
5055 | | CharT>; |
5056 | | |
5057 | | template <typename T, typename CharT> |
5058 | | using is_scannable = std::integral_constant< |
5059 | | bool, |
5060 | | !std::is_base_of_v< |
5061 | | unscannable, |
5062 | | remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>; |
5063 | | |
5064 | | constexpr std::size_t packed_arg_bits = 5; |
5065 | | static_assert((1 << packed_arg_bits) >= static_cast<int>(arg_type::last_type)); |
5066 | | constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8; |
5067 | | constexpr std::size_t max_packed_args = (bits_in_sz - 2) / packed_arg_bits - 1; |
5068 | | constexpr std::size_t is_unpacked_bit = std::size_t{1} << (bits_in_sz - 1); |
5069 | | constexpr std::size_t has_custom_types_bit = std::size_t{1} << (bits_in_sz - 2); |
5070 | | |
5071 | | template <typename> |
5072 | | constexpr size_t encode_types_impl() |
5073 | 0 | { |
5074 | 0 | return 0; |
5075 | 0 | } Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t>() |
5076 | | template <typename CharT, typename T, typename... Others> |
5077 | | constexpr size_t encode_types_impl() |
5078 | 0 | { |
5079 | 0 | return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) | |
5080 | 0 | (encode_types_impl<CharT, Others...>() << packed_arg_bits); |
5081 | 0 | } Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, signed char>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned char>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, int>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned int>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, long long>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned long long>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, signed char>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned char>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, int>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned int>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, long long>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned long long>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, float>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, double>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, long double>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, float>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, double>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, long double>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, char>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, bool>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, void*>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, wchar_t>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, bool>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, void*>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>() |
5082 | | |
5083 | | template <typename CharT, typename... Ts> |
5084 | | constexpr size_t encode_types() |
5085 | 0 | { |
5086 | 0 | if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) { |
5087 | 0 | return sizeof...(Ts) | |
5088 | 0 | (encode_types_impl<CharT, Ts...>() << packed_arg_bits); |
5089 | 0 | } |
5090 | 0 | else { |
5091 | 0 | SCN_EXPECT(false); |
5092 | 0 | SCN_UNREACHABLE; |
5093 | 0 | } |
5094 | 0 | } Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, signed char>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned char>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, int>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned int>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, long long>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned long long>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, signed char>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned char>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, int>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned int>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, long long>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned long long>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, float>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, double>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, long double>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, float>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, double>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, long double>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, char>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, bool>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, void*>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, wchar_t>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, bool>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, void*>() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >() Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >() |
5095 | | |
5096 | | template <typename Arg> |
5097 | | constexpr auto make_value_impl(Arg&& arg) |
5098 | 20.4M | { |
5099 | 20.4M | using arg_nocvref_t = remove_cvref_t<Arg>; |
5100 | 20.4M | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); |
5101 | | |
5102 | 20.4M | constexpr bool scannable_char = |
5103 | 20.4M | !std::is_same_v<arg_nocvref_t, unscannable_char>; |
5104 | 20.4M | static_assert(scannable_char, |
5105 | 20.4M | "Cannot scan an argument of an unsupported character " |
5106 | 20.4M | "type (i.e. char from a wchar_t source)"); |
5107 | | |
5108 | 20.4M | constexpr bool scannable_const = |
5109 | 20.4M | !std::is_same_v<arg_nocvref_t, unscannable_const>; |
5110 | 20.4M | static_assert(scannable_const, "Cannot scan a const argument"); |
5111 | | |
5112 | 20.4M | constexpr bool scannable_disabled = |
5113 | 20.4M | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; |
5114 | 20.4M | static_assert(scannable_disabled, |
5115 | 20.4M | "Cannot scan an argument that has been disabled by " |
5116 | 20.4M | "flag (SCN_DISABLE_TYPE_*)"); |
5117 | | |
5118 | 20.4M | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; |
5119 | 20.4M | static_assert( |
5120 | 20.4M | scannable, |
5121 | 20.4M | "Cannot scan an argument. To make a type T scannable, provide " |
5122 | 20.4M | "a scn::scanner<T, CharT> specialization."); |
5123 | | |
5124 | 20.4M | return arg_value{arg}; |
5125 | 20.4M | } auto scn::v3::detail::make_value_impl<signed char&>(signed char&) Line | Count | Source | 5098 | 859k | { | 5099 | 859k | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 859k | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 859k | constexpr bool scannable_char = | 5103 | 859k | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 859k | static_assert(scannable_char, | 5105 | 859k | "Cannot scan an argument of an unsupported character " | 5106 | 859k | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 859k | constexpr bool scannable_const = | 5109 | 859k | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 859k | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 859k | constexpr bool scannable_disabled = | 5113 | 859k | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 859k | static_assert(scannable_disabled, | 5115 | 859k | "Cannot scan an argument that has been disabled by " | 5116 | 859k | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 859k | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 859k | static_assert( | 5120 | 859k | scannable, | 5121 | 859k | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 859k | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 859k | return arg_value{arg}; | 5125 | 859k | } |
auto scn::v3::detail::make_value_impl<unsigned char&>(unsigned char&) Line | Count | Source | 5098 | 832k | { | 5099 | 832k | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 832k | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 832k | constexpr bool scannable_char = | 5103 | 832k | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 832k | static_assert(scannable_char, | 5105 | 832k | "Cannot scan an argument of an unsupported character " | 5106 | 832k | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 832k | constexpr bool scannable_const = | 5109 | 832k | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 832k | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 832k | constexpr bool scannable_disabled = | 5113 | 832k | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 832k | static_assert(scannable_disabled, | 5115 | 832k | "Cannot scan an argument that has been disabled by " | 5116 | 832k | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 832k | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 832k | static_assert( | 5120 | 832k | scannable, | 5121 | 832k | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 832k | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 832k | return arg_value{arg}; | 5125 | 832k | } |
auto scn::v3::detail::make_value_impl<int&>(int&) Line | Count | Source | 5098 | 1.09M | { | 5099 | 1.09M | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 1.09M | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 1.09M | constexpr bool scannable_char = | 5103 | 1.09M | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 1.09M | static_assert(scannable_char, | 5105 | 1.09M | "Cannot scan an argument of an unsupported character " | 5106 | 1.09M | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 1.09M | constexpr bool scannable_const = | 5109 | 1.09M | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 1.09M | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 1.09M | constexpr bool scannable_disabled = | 5113 | 1.09M | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 1.09M | static_assert(scannable_disabled, | 5115 | 1.09M | "Cannot scan an argument that has been disabled by " | 5116 | 1.09M | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 1.09M | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 1.09M | static_assert( | 5120 | 1.09M | scannable, | 5121 | 1.09M | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 1.09M | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 1.09M | return arg_value{arg}; | 5125 | 1.09M | } |
auto scn::v3::detail::make_value_impl<unsigned int&>(unsigned int&) Line | Count | Source | 5098 | 981k | { | 5099 | 981k | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 981k | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 981k | constexpr bool scannable_char = | 5103 | 981k | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 981k | static_assert(scannable_char, | 5105 | 981k | "Cannot scan an argument of an unsupported character " | 5106 | 981k | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 981k | constexpr bool scannable_const = | 5109 | 981k | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 981k | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 981k | constexpr bool scannable_disabled = | 5113 | 981k | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 981k | static_assert(scannable_disabled, | 5115 | 981k | "Cannot scan an argument that has been disabled by " | 5116 | 981k | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 981k | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 981k | static_assert( | 5120 | 981k | scannable, | 5121 | 981k | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 981k | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 981k | return arg_value{arg}; | 5125 | 981k | } |
auto scn::v3::detail::make_value_impl<long long&>(long long&) Line | Count | Source | 5098 | 1.04M | { | 5099 | 1.04M | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 1.04M | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 1.04M | constexpr bool scannable_char = | 5103 | 1.04M | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 1.04M | static_assert(scannable_char, | 5105 | 1.04M | "Cannot scan an argument of an unsupported character " | 5106 | 1.04M | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 1.04M | constexpr bool scannable_const = | 5109 | 1.04M | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 1.04M | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 1.04M | constexpr bool scannable_disabled = | 5113 | 1.04M | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 1.04M | static_assert(scannable_disabled, | 5115 | 1.04M | "Cannot scan an argument that has been disabled by " | 5116 | 1.04M | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 1.04M | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 1.04M | static_assert( | 5120 | 1.04M | scannable, | 5121 | 1.04M | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 1.04M | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 1.04M | return arg_value{arg}; | 5125 | 1.04M | } |
auto scn::v3::detail::make_value_impl<unsigned long long&>(unsigned long long&) Line | Count | Source | 5098 | 925k | { | 5099 | 925k | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 925k | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 925k | constexpr bool scannable_char = | 5103 | 925k | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 925k | static_assert(scannable_char, | 5105 | 925k | "Cannot scan an argument of an unsupported character " | 5106 | 925k | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 925k | constexpr bool scannable_const = | 5109 | 925k | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 925k | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 925k | constexpr bool scannable_disabled = | 5113 | 925k | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 925k | static_assert(scannable_disabled, | 5115 | 925k | "Cannot scan an argument that has been disabled by " | 5116 | 925k | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 925k | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 925k | static_assert( | 5120 | 925k | scannable, | 5121 | 925k | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 925k | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 925k | return arg_value{arg}; | 5125 | 925k | } |
auto scn::v3::detail::make_value_impl<float&>(float&) Line | Count | Source | 5098 | 1.63M | { | 5099 | 1.63M | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 1.63M | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 1.63M | constexpr bool scannable_char = | 5103 | 1.63M | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 1.63M | static_assert(scannable_char, | 5105 | 1.63M | "Cannot scan an argument of an unsupported character " | 5106 | 1.63M | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 1.63M | constexpr bool scannable_const = | 5109 | 1.63M | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 1.63M | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 1.63M | constexpr bool scannable_disabled = | 5113 | 1.63M | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 1.63M | static_assert(scannable_disabled, | 5115 | 1.63M | "Cannot scan an argument that has been disabled by " | 5116 | 1.63M | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 1.63M | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 1.63M | static_assert( | 5120 | 1.63M | scannable, | 5121 | 1.63M | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 1.63M | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 1.63M | return arg_value{arg}; | 5125 | 1.63M | } |
auto scn::v3::detail::make_value_impl<double&>(double&) Line | Count | Source | 5098 | 1.81M | { | 5099 | 1.81M | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 1.81M | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 1.81M | constexpr bool scannable_char = | 5103 | 1.81M | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 1.81M | static_assert(scannable_char, | 5105 | 1.81M | "Cannot scan an argument of an unsupported character " | 5106 | 1.81M | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 1.81M | constexpr bool scannable_const = | 5109 | 1.81M | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 1.81M | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 1.81M | constexpr bool scannable_disabled = | 5113 | 1.81M | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 1.81M | static_assert(scannable_disabled, | 5115 | 1.81M | "Cannot scan an argument that has been disabled by " | 5116 | 1.81M | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 1.81M | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 1.81M | static_assert( | 5120 | 1.81M | scannable, | 5121 | 1.81M | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 1.81M | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 1.81M | return arg_value{arg}; | 5125 | 1.81M | } |
auto scn::v3::detail::make_value_impl<long double&>(long double&) Line | Count | Source | 5098 | 1.77M | { | 5099 | 1.77M | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 1.77M | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 1.77M | constexpr bool scannable_char = | 5103 | 1.77M | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 1.77M | static_assert(scannable_char, | 5105 | 1.77M | "Cannot scan an argument of an unsupported character " | 5106 | 1.77M | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 1.77M | constexpr bool scannable_const = | 5109 | 1.77M | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 1.77M | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 1.77M | constexpr bool scannable_disabled = | 5113 | 1.77M | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 1.77M | static_assert(scannable_disabled, | 5115 | 1.77M | "Cannot scan an argument that has been disabled by " | 5116 | 1.77M | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 1.77M | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 1.77M | static_assert( | 5120 | 1.77M | scannable, | 5121 | 1.77M | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 1.77M | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 1.77M | return arg_value{arg}; | 5125 | 1.77M | } |
auto scn::v3::detail::make_value_impl<char&>(char&) Line | Count | Source | 5098 | 21.3k | { | 5099 | 21.3k | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 21.3k | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 21.3k | constexpr bool scannable_char = | 5103 | 21.3k | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 21.3k | static_assert(scannable_char, | 5105 | 21.3k | "Cannot scan an argument of an unsupported character " | 5106 | 21.3k | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 21.3k | constexpr bool scannable_const = | 5109 | 21.3k | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 21.3k | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 21.3k | constexpr bool scannable_disabled = | 5113 | 21.3k | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 21.3k | static_assert(scannable_disabled, | 5115 | 21.3k | "Cannot scan an argument that has been disabled by " | 5116 | 21.3k | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 21.3k | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 21.3k | static_assert( | 5120 | 21.3k | scannable, | 5121 | 21.3k | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 21.3k | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 21.3k | return arg_value{arg}; | 5125 | 21.3k | } |
auto scn::v3::detail::make_value_impl<bool&>(bool&) Line | Count | Source | 5098 | 64.0k | { | 5099 | 64.0k | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 64.0k | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 64.0k | constexpr bool scannable_char = | 5103 | 64.0k | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 64.0k | static_assert(scannable_char, | 5105 | 64.0k | "Cannot scan an argument of an unsupported character " | 5106 | 64.0k | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 64.0k | constexpr bool scannable_const = | 5109 | 64.0k | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 64.0k | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 64.0k | constexpr bool scannable_disabled = | 5113 | 64.0k | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 64.0k | static_assert(scannable_disabled, | 5115 | 64.0k | "Cannot scan an argument that has been disabled by " | 5116 | 64.0k | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 64.0k | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 64.0k | static_assert( | 5120 | 64.0k | scannable, | 5121 | 64.0k | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 64.0k | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 64.0k | return arg_value{arg}; | 5125 | 64.0k | } |
auto scn::v3::detail::make_value_impl<void*&>(void*&) Line | Count | Source | 5098 | 64.0k | { | 5099 | 64.0k | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 64.0k | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 64.0k | constexpr bool scannable_char = | 5103 | 64.0k | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 64.0k | static_assert(scannable_char, | 5105 | 64.0k | "Cannot scan an argument of an unsupported character " | 5106 | 64.0k | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 64.0k | constexpr bool scannable_const = | 5109 | 64.0k | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 64.0k | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 64.0k | constexpr bool scannable_disabled = | 5113 | 64.0k | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 64.0k | static_assert(scannable_disabled, | 5115 | 64.0k | "Cannot scan an argument that has been disabled by " | 5116 | 64.0k | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 64.0k | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 64.0k | static_assert( | 5120 | 64.0k | scannable, | 5121 | 64.0k | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 64.0k | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 64.0k | return arg_value{arg}; | 5125 | 64.0k | } |
auto scn::v3::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) Line | Count | Source | 5098 | 691k | { | 5099 | 691k | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 691k | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 691k | constexpr bool scannable_char = | 5103 | 691k | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 691k | static_assert(scannable_char, | 5105 | 691k | "Cannot scan an argument of an unsupported character " | 5106 | 691k | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 691k | constexpr bool scannable_const = | 5109 | 691k | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 691k | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 691k | constexpr bool scannable_disabled = | 5113 | 691k | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 691k | static_assert(scannable_disabled, | 5115 | 691k | "Cannot scan an argument that has been disabled by " | 5116 | 691k | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 691k | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 691k | static_assert( | 5120 | 691k | scannable, | 5121 | 691k | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 691k | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 691k | return arg_value{arg}; | 5125 | 691k | } |
auto scn::v3::detail::make_value_impl<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) Line | Count | Source | 5098 | 5.52M | { | 5099 | 5.52M | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 5.52M | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 5.52M | constexpr bool scannable_char = | 5103 | 5.52M | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 5.52M | static_assert(scannable_char, | 5105 | 5.52M | "Cannot scan an argument of an unsupported character " | 5106 | 5.52M | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 5.52M | constexpr bool scannable_const = | 5109 | 5.52M | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 5.52M | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 5.52M | constexpr bool scannable_disabled = | 5113 | 5.52M | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 5.52M | static_assert(scannable_disabled, | 5115 | 5.52M | "Cannot scan an argument that has been disabled by " | 5116 | 5.52M | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 5.52M | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 5.52M | static_assert( | 5120 | 5.52M | scannable, | 5121 | 5.52M | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 5.52M | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 5.52M | return arg_value{arg}; | 5125 | 5.52M | } |
auto scn::v3::detail::make_value_impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) Line | Count | Source | 5098 | 306k | { | 5099 | 306k | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 306k | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 306k | constexpr bool scannable_char = | 5103 | 306k | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 306k | static_assert(scannable_char, | 5105 | 306k | "Cannot scan an argument of an unsupported character " | 5106 | 306k | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 306k | constexpr bool scannable_const = | 5109 | 306k | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 306k | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 306k | constexpr bool scannable_disabled = | 5113 | 306k | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 306k | static_assert(scannable_disabled, | 5115 | 306k | "Cannot scan an argument that has been disabled by " | 5116 | 306k | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 306k | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 306k | static_assert( | 5120 | 306k | scannable, | 5121 | 306k | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 306k | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 306k | return arg_value{arg}; | 5125 | 306k | } |
auto scn::v3::detail::make_value_impl<wchar_t&>(wchar_t&) Line | Count | Source | 5098 | 42.6k | { | 5099 | 42.6k | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 42.6k | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 42.6k | constexpr bool scannable_char = | 5103 | 42.6k | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 42.6k | static_assert(scannable_char, | 5105 | 42.6k | "Cannot scan an argument of an unsupported character " | 5106 | 42.6k | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 42.6k | constexpr bool scannable_const = | 5109 | 42.6k | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 42.6k | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 42.6k | constexpr bool scannable_disabled = | 5113 | 42.6k | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 42.6k | static_assert(scannable_disabled, | 5115 | 42.6k | "Cannot scan an argument that has been disabled by " | 5116 | 42.6k | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 42.6k | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 42.6k | static_assert( | 5120 | 42.6k | scannable, | 5121 | 42.6k | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 42.6k | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 42.6k | return arg_value{arg}; | 5125 | 42.6k | } |
auto scn::v3::detail::make_value_impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) Line | Count | Source | 5098 | 2.77M | { | 5099 | 2.77M | using arg_nocvref_t = remove_cvref_t<Arg>; | 5100 | 2.77M | static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>); | 5101 | | | 5102 | 2.77M | constexpr bool scannable_char = | 5103 | 2.77M | !std::is_same_v<arg_nocvref_t, unscannable_char>; | 5104 | 2.77M | static_assert(scannable_char, | 5105 | 2.77M | "Cannot scan an argument of an unsupported character " | 5106 | 2.77M | "type (i.e. char from a wchar_t source)"); | 5107 | | | 5108 | 2.77M | constexpr bool scannable_const = | 5109 | 2.77M | !std::is_same_v<arg_nocvref_t, unscannable_const>; | 5110 | 2.77M | static_assert(scannable_const, "Cannot scan a const argument"); | 5111 | | | 5112 | 2.77M | constexpr bool scannable_disabled = | 5113 | 2.77M | !std::is_same_v<arg_nocvref_t, unscannable_disabled>; | 5114 | 2.77M | static_assert(scannable_disabled, | 5115 | 2.77M | "Cannot scan an argument that has been disabled by " | 5116 | 2.77M | "flag (SCN_DISABLE_TYPE_*)"); | 5117 | | | 5118 | 2.77M | constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>; | 5119 | 2.77M | static_assert( | 5120 | 2.77M | scannable, | 5121 | 2.77M | "Cannot scan an argument. To make a type T scannable, provide " | 5122 | 2.77M | "a scn::scanner<T, CharT> specialization."); | 5123 | | | 5124 | 2.77M | return arg_value{arg}; | 5125 | 2.77M | } |
|
5126 | | |
5127 | | template <typename Context, typename T> |
5128 | | constexpr auto make_value(T& value) |
5129 | 20.4M | { |
5130 | 20.4M | auto&& arg = arg_mapper<typename Context::char_type>().map(value); |
5131 | | |
5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, |
5133 | 20.4M | needs_context_tag>) { |
5134 | 20.4M | return make_value_impl(SCN_FWD(arg)); |
5135 | | } |
5136 | | else { |
5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( |
5138 | | value, context_tag<Context>{})); |
5139 | | } |
5140 | 20.4M | } auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, signed char>(signed char&) Line | Count | Source | 5129 | 683k | { | 5130 | 683k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 683k | needs_context_tag>) { | 5134 | 683k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 683k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned char>(unsigned char&) Line | Count | Source | 5129 | 656k | { | 5130 | 656k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 656k | needs_context_tag>) { | 5134 | 656k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 656k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, int>(int&) Line | Count | Source | 5129 | 877k | { | 5130 | 877k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 877k | needs_context_tag>) { | 5134 | 877k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 877k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned int>(unsigned int&) Line | Count | Source | 5129 | 762k | { | 5130 | 762k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 762k | needs_context_tag>) { | 5134 | 762k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 762k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, long long>(long long&) Line | Count | Source | 5129 | 872k | { | 5130 | 872k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 872k | needs_context_tag>) { | 5134 | 872k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 872k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned long long>(unsigned long long&) Line | Count | Source | 5129 | 748k | { | 5130 | 748k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 748k | needs_context_tag>) { | 5134 | 748k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 748k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, signed char>(signed char&) Line | Count | Source | 5129 | 176k | { | 5130 | 176k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 176k | needs_context_tag>) { | 5134 | 176k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 176k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned char>(unsigned char&) Line | Count | Source | 5129 | 176k | { | 5130 | 176k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 176k | needs_context_tag>) { | 5134 | 176k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 176k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, int>(int&) Line | Count | Source | 5129 | 219k | { | 5130 | 219k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 219k | needs_context_tag>) { | 5134 | 219k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 219k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned int>(unsigned int&) Line | Count | Source | 5129 | 219k | { | 5130 | 219k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 219k | needs_context_tag>) { | 5134 | 219k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 219k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, long long>(long long&) Line | Count | Source | 5129 | 176k | { | 5130 | 176k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 176k | needs_context_tag>) { | 5134 | 176k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 176k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned long long>(unsigned long long&) Line | Count | Source | 5129 | 176k | { | 5130 | 176k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 176k | needs_context_tag>) { | 5134 | 176k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 176k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, float>(float&) Line | Count | Source | 5129 | 1.10M | { | 5130 | 1.10M | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 1.10M | needs_context_tag>) { | 5134 | 1.10M | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 1.10M | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, double>(double&) Line | Count | Source | 5129 | 1.16M | { | 5130 | 1.16M | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 1.16M | needs_context_tag>) { | 5134 | 1.16M | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 1.16M | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, long double>(long double&) Line | Count | Source | 5129 | 1.16M | { | 5130 | 1.16M | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 1.16M | needs_context_tag>) { | 5134 | 1.16M | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 1.16M | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, float>(float&) Line | Count | Source | 5129 | 536k | { | 5130 | 536k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 536k | needs_context_tag>) { | 5134 | 536k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 536k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, double>(double&) Line | Count | Source | 5129 | 649k | { | 5130 | 649k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 649k | needs_context_tag>) { | 5134 | 649k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 649k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, long double>(long double&) Line | Count | Source | 5129 | 619k | { | 5130 | 619k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 619k | needs_context_tag>) { | 5134 | 619k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 619k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, char>(char&) Line | Count | Source | 5129 | 21.3k | { | 5130 | 21.3k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 21.3k | needs_context_tag>) { | 5134 | 21.3k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 21.3k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, bool>(bool&) Line | Count | Source | 5129 | 21.3k | { | 5130 | 21.3k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 21.3k | needs_context_tag>) { | 5134 | 21.3k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 21.3k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, void*>(void*&) Line | Count | Source | 5129 | 21.3k | { | 5130 | 21.3k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 21.3k | needs_context_tag>) { | 5134 | 21.3k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 21.3k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) Line | Count | Source | 5129 | 648k | { | 5130 | 648k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 648k | needs_context_tag>) { | 5134 | 648k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 648k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) Line | Count | Source | 5129 | 21.3k | { | 5130 | 21.3k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 21.3k | needs_context_tag>) { | 5134 | 21.3k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 21.3k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) Line | Count | Source | 5129 | 306k | { | 5130 | 306k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 306k | needs_context_tag>) { | 5134 | 306k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 306k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, wchar_t>(wchar_t&) Line | Count | Source | 5129 | 42.6k | { | 5130 | 42.6k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 42.6k | needs_context_tag>) { | 5134 | 42.6k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 42.6k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, bool>(bool&) Line | Count | Source | 5129 | 42.6k | { | 5130 | 42.6k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 42.6k | needs_context_tag>) { | 5134 | 42.6k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 42.6k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, void*>(void*&) Line | Count | Source | 5129 | 42.6k | { | 5130 | 42.6k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 42.6k | needs_context_tag>) { | 5134 | 42.6k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 42.6k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) Line | Count | Source | 5129 | 42.6k | { | 5130 | 42.6k | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 42.6k | needs_context_tag>) { | 5134 | 42.6k | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 42.6k | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) Line | Count | Source | 5129 | 5.50M | { | 5130 | 5.50M | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 5.50M | needs_context_tag>) { | 5134 | 5.50M | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 5.50M | } |
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) Line | Count | Source | 5129 | 2.77M | { | 5130 | 2.77M | auto&& arg = arg_mapper<typename Context::char_type>().map(value); | 5131 | | | 5132 | | if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>, | 5133 | 2.77M | needs_context_tag>) { | 5134 | 2.77M | return make_value_impl(SCN_FWD(arg)); | 5135 | | } | 5136 | | else { | 5137 | | return make_value_impl(arg_mapper<typename Context::char_type>().map( | 5138 | | value, context_tag<Context>{})); | 5139 | | } | 5140 | 2.77M | } |
|
5141 | | |
5142 | | template <typename... Args> |
5143 | | constexpr void check_scan_arg_types() |
5144 | 20.4M | { |
5145 | 20.4M | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, |
5146 | 20.4M | "Scan argument types must be default constructible"); |
5147 | 20.4M | static_assert(std::conjunction_v<std::is_destructible<Args>...>, |
5148 | 20.4M | "Scan argument types must be Destructible"); |
5149 | 20.4M | static_assert( |
5150 | 20.4M | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, |
5151 | 20.4M | "Scan argument types must not be references"); |
5152 | 20.4M | } void scn::v3::detail::check_scan_arg_types<signed char>() Line | Count | Source | 5144 | 859k | { | 5145 | 859k | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 859k | "Scan argument types must be default constructible"); | 5147 | 859k | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 859k | "Scan argument types must be Destructible"); | 5149 | 859k | static_assert( | 5150 | 859k | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 859k | "Scan argument types must not be references"); | 5152 | 859k | } |
void scn::v3::detail::check_scan_arg_types<unsigned char>() Line | Count | Source | 5144 | 832k | { | 5145 | 832k | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 832k | "Scan argument types must be default constructible"); | 5147 | 832k | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 832k | "Scan argument types must be Destructible"); | 5149 | 832k | static_assert( | 5150 | 832k | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 832k | "Scan argument types must not be references"); | 5152 | 832k | } |
void scn::v3::detail::check_scan_arg_types<int>() Line | Count | Source | 5144 | 1.09M | { | 5145 | 1.09M | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 1.09M | "Scan argument types must be default constructible"); | 5147 | 1.09M | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 1.09M | "Scan argument types must be Destructible"); | 5149 | 1.09M | static_assert( | 5150 | 1.09M | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 1.09M | "Scan argument types must not be references"); | 5152 | 1.09M | } |
void scn::v3::detail::check_scan_arg_types<unsigned int>() Line | Count | Source | 5144 | 981k | { | 5145 | 981k | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 981k | "Scan argument types must be default constructible"); | 5147 | 981k | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 981k | "Scan argument types must be Destructible"); | 5149 | 981k | static_assert( | 5150 | 981k | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 981k | "Scan argument types must not be references"); | 5152 | 981k | } |
void scn::v3::detail::check_scan_arg_types<long long>() Line | Count | Source | 5144 | 1.04M | { | 5145 | 1.04M | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 1.04M | "Scan argument types must be default constructible"); | 5147 | 1.04M | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 1.04M | "Scan argument types must be Destructible"); | 5149 | 1.04M | static_assert( | 5150 | 1.04M | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 1.04M | "Scan argument types must not be references"); | 5152 | 1.04M | } |
void scn::v3::detail::check_scan_arg_types<unsigned long long>() Line | Count | Source | 5144 | 925k | { | 5145 | 925k | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 925k | "Scan argument types must be default constructible"); | 5147 | 925k | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 925k | "Scan argument types must be Destructible"); | 5149 | 925k | static_assert( | 5150 | 925k | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 925k | "Scan argument types must not be references"); | 5152 | 925k | } |
void scn::v3::detail::check_scan_arg_types<float>() Line | Count | Source | 5144 | 1.63M | { | 5145 | 1.63M | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 1.63M | "Scan argument types must be default constructible"); | 5147 | 1.63M | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 1.63M | "Scan argument types must be Destructible"); | 5149 | 1.63M | static_assert( | 5150 | 1.63M | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 1.63M | "Scan argument types must not be references"); | 5152 | 1.63M | } |
void scn::v3::detail::check_scan_arg_types<double>() Line | Count | Source | 5144 | 1.81M | { | 5145 | 1.81M | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 1.81M | "Scan argument types must be default constructible"); | 5147 | 1.81M | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 1.81M | "Scan argument types must be Destructible"); | 5149 | 1.81M | static_assert( | 5150 | 1.81M | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 1.81M | "Scan argument types must not be references"); | 5152 | 1.81M | } |
void scn::v3::detail::check_scan_arg_types<long double>() Line | Count | Source | 5144 | 1.77M | { | 5145 | 1.77M | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 1.77M | "Scan argument types must be default constructible"); | 5147 | 1.77M | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 1.77M | "Scan argument types must be Destructible"); | 5149 | 1.77M | static_assert( | 5150 | 1.77M | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 1.77M | "Scan argument types must not be references"); | 5152 | 1.77M | } |
void scn::v3::detail::check_scan_arg_types<char>() Line | Count | Source | 5144 | 21.3k | { | 5145 | 21.3k | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 21.3k | "Scan argument types must be default constructible"); | 5147 | 21.3k | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 21.3k | "Scan argument types must be Destructible"); | 5149 | 21.3k | static_assert( | 5150 | 21.3k | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 21.3k | "Scan argument types must not be references"); | 5152 | 21.3k | } |
void scn::v3::detail::check_scan_arg_types<bool>() Line | Count | Source | 5144 | 64.0k | { | 5145 | 64.0k | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 64.0k | "Scan argument types must be default constructible"); | 5147 | 64.0k | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 64.0k | "Scan argument types must be Destructible"); | 5149 | 64.0k | static_assert( | 5150 | 64.0k | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 64.0k | "Scan argument types must not be references"); | 5152 | 64.0k | } |
void scn::v3::detail::check_scan_arg_types<void*>() Line | Count | Source | 5144 | 64.0k | { | 5145 | 64.0k | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 64.0k | "Scan argument types must be default constructible"); | 5147 | 64.0k | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 64.0k | "Scan argument types must be Destructible"); | 5149 | 64.0k | static_assert( | 5150 | 64.0k | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 64.0k | "Scan argument types must not be references"); | 5152 | 64.0k | } |
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() Line | Count | Source | 5144 | 691k | { | 5145 | 691k | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 691k | "Scan argument types must be default constructible"); | 5147 | 691k | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 691k | "Scan argument types must be Destructible"); | 5149 | 691k | static_assert( | 5150 | 691k | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 691k | "Scan argument types must not be references"); | 5152 | 691k | } |
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >() Line | Count | Source | 5144 | 5.52M | { | 5145 | 5.52M | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 5.52M | "Scan argument types must be default constructible"); | 5147 | 5.52M | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 5.52M | "Scan argument types must be Destructible"); | 5149 | 5.52M | static_assert( | 5150 | 5.52M | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 5.52M | "Scan argument types must not be references"); | 5152 | 5.52M | } |
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string_view<char, std::__1::char_traits<char> > >() Line | Count | Source | 5144 | 306k | { | 5145 | 306k | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 306k | "Scan argument types must be default constructible"); | 5147 | 306k | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 306k | "Scan argument types must be Destructible"); | 5149 | 306k | static_assert( | 5150 | 306k | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 306k | "Scan argument types must not be references"); | 5152 | 306k | } |
void scn::v3::detail::check_scan_arg_types<wchar_t>() Line | Count | Source | 5144 | 42.6k | { | 5145 | 42.6k | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 42.6k | "Scan argument types must be default constructible"); | 5147 | 42.6k | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 42.6k | "Scan argument types must be Destructible"); | 5149 | 42.6k | static_assert( | 5150 | 42.6k | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 42.6k | "Scan argument types must not be references"); | 5152 | 42.6k | } |
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >() Line | Count | Source | 5144 | 2.77M | { | 5145 | 2.77M | static_assert(std::conjunction_v<std::is_default_constructible<Args>...>, | 5146 | 2.77M | "Scan argument types must be default constructible"); | 5147 | 2.77M | static_assert(std::conjunction_v<std::is_destructible<Args>...>, | 5148 | 2.77M | "Scan argument types must be Destructible"); | 5149 | 2.77M | static_assert( | 5150 | 2.77M | !std::conjunction_v<std::false_type, std::is_reference<Args>...>, | 5151 | 2.77M | "Scan argument types must not be references"); | 5152 | 2.77M | } |
|
5153 | | |
5154 | | enum class scan_arg_store_kind { |
5155 | | // only built-in types (no custom types), packed |
5156 | | builtin, |
5157 | | |
5158 | | packed, |
5159 | | unpacked |
5160 | | }; |
5161 | | |
5162 | | template <typename Context, typename T> |
5163 | | constexpr basic_scan_arg<Context> make_arg(T& value) |
5164 | 2.64M | { |
5165 | 2.64M | check_scan_arg_types<T>(); |
5166 | | |
5167 | 2.64M | basic_scan_arg<Context> arg; |
5168 | 2.64M | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; |
5169 | 2.64M | arg.m_value = make_value<Context>(value); |
5170 | 2.64M | return arg; |
5171 | 2.64M | } scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, signed char>(signed char&) Line | Count | Source | 5164 | 52.8k | { | 5165 | 52.8k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 52.8k | basic_scan_arg<Context> arg; | 5168 | 52.8k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 52.8k | arg.m_value = make_value<Context>(value); | 5170 | 52.8k | return arg; | 5171 | 52.8k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned char>(unsigned char&) Line | Count | Source | 5164 | 46.9k | { | 5165 | 46.9k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 46.9k | basic_scan_arg<Context> arg; | 5168 | 46.9k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 46.9k | arg.m_value = make_value<Context>(value); | 5170 | 46.9k | return arg; | 5171 | 46.9k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, int>(int&) Line | Count | Source | 5164 | 60.7k | { | 5165 | 60.7k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 60.7k | basic_scan_arg<Context> arg; | 5168 | 60.7k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 60.7k | arg.m_value = make_value<Context>(value); | 5170 | 60.7k | return arg; | 5171 | 60.7k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned int>(unsigned int&) Line | Count | Source | 5164 | 52.3k | { | 5165 | 52.3k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 52.3k | basic_scan_arg<Context> arg; | 5168 | 52.3k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 52.3k | arg.m_value = make_value<Context>(value); | 5170 | 52.3k | return arg; | 5171 | 52.3k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, long long>(long long&) Line | Count | Source | 5164 | 61.8k | { | 5165 | 61.8k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 61.8k | basic_scan_arg<Context> arg; | 5168 | 61.8k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 61.8k | arg.m_value = make_value<Context>(value); | 5170 | 61.8k | return arg; | 5171 | 61.8k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned long long>(unsigned long long&) Line | Count | Source | 5164 | 53.0k | { | 5165 | 53.0k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 53.0k | basic_scan_arg<Context> arg; | 5168 | 53.0k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 53.0k | arg.m_value = make_value<Context>(value); | 5170 | 53.0k | return arg; | 5171 | 53.0k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, signed char>(signed char&) Line | Count | Source | 5164 | 8.43k | { | 5165 | 8.43k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 8.43k | basic_scan_arg<Context> arg; | 5168 | 8.43k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 8.43k | arg.m_value = make_value<Context>(value); | 5170 | 8.43k | return arg; | 5171 | 8.43k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned char>(unsigned char&) Line | Count | Source | 5164 | 8.41k | { | 5165 | 8.41k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 8.41k | basic_scan_arg<Context> arg; | 5168 | 8.41k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 8.41k | arg.m_value = make_value<Context>(value); | 5170 | 8.41k | return arg; | 5171 | 8.41k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, int>(int&) Line | Count | Source | 5164 | 8.45k | { | 5165 | 8.45k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 8.45k | basic_scan_arg<Context> arg; | 5168 | 8.45k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 8.45k | arg.m_value = make_value<Context>(value); | 5170 | 8.45k | return arg; | 5171 | 8.45k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned int>(unsigned int&) Line | Count | Source | 5164 | 8.43k | { | 5165 | 8.43k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 8.43k | basic_scan_arg<Context> arg; | 5168 | 8.43k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 8.43k | arg.m_value = make_value<Context>(value); | 5170 | 8.43k | return arg; | 5171 | 8.43k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, long long>(long long&) Line | Count | Source | 5164 | 8.48k | { | 5165 | 8.48k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 8.48k | basic_scan_arg<Context> arg; | 5168 | 8.48k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 8.48k | arg.m_value = make_value<Context>(value); | 5170 | 8.48k | return arg; | 5171 | 8.48k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned long long>(unsigned long long&) Line | Count | Source | 5164 | 8.45k | { | 5165 | 8.45k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 8.45k | basic_scan_arg<Context> arg; | 5168 | 8.45k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 8.45k | arg.m_value = make_value<Context>(value); | 5170 | 8.45k | return arg; | 5171 | 8.45k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, float>(float&) Line | Count | Source | 5164 | 103k | { | 5165 | 103k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 103k | basic_scan_arg<Context> arg; | 5168 | 103k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 103k | arg.m_value = make_value<Context>(value); | 5170 | 103k | return arg; | 5171 | 103k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, double>(double&) Line | Count | Source | 5164 | 108k | { | 5165 | 108k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 108k | basic_scan_arg<Context> arg; | 5168 | 108k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 108k | arg.m_value = make_value<Context>(value); | 5170 | 108k | return arg; | 5171 | 108k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, long double>(long double&) Line | Count | Source | 5164 | 110k | { | 5165 | 110k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 110k | basic_scan_arg<Context> arg; | 5168 | 110k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 110k | arg.m_value = make_value<Context>(value); | 5170 | 110k | return arg; | 5171 | 110k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, float>(float&) Line | Count | Source | 5164 | 45.3k | { | 5165 | 45.3k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 45.3k | basic_scan_arg<Context> arg; | 5168 | 45.3k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 45.3k | arg.m_value = make_value<Context>(value); | 5170 | 45.3k | return arg; | 5171 | 45.3k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, double>(double&) Line | Count | Source | 5164 | 55.3k | { | 5165 | 55.3k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 55.3k | basic_scan_arg<Context> arg; | 5168 | 55.3k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 55.3k | arg.m_value = make_value<Context>(value); | 5170 | 55.3k | return arg; | 5171 | 55.3k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, long double>(long double&) Line | Count | Source | 5164 | 57.0k | { | 5165 | 57.0k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 57.0k | basic_scan_arg<Context> arg; | 5168 | 57.0k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 57.0k | arg.m_value = make_value<Context>(value); | 5170 | 57.0k | return arg; | 5171 | 57.0k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) Line | Count | Source | 5164 | 117k | { | 5165 | 117k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 117k | basic_scan_arg<Context> arg; | 5168 | 117k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 117k | arg.m_value = make_value<Context>(value); | 5170 | 117k | return arg; | 5171 | 117k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) Line | Count | Source | 5164 | 53.0k | { | 5165 | 53.0k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 53.0k | basic_scan_arg<Context> arg; | 5168 | 53.0k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 53.0k | arg.m_value = make_value<Context>(value); | 5170 | 53.0k | return arg; | 5171 | 53.0k | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) Line | Count | Source | 5164 | 1.07M | { | 5165 | 1.07M | check_scan_arg_types<T>(); | 5166 | | | 5167 | 1.07M | basic_scan_arg<Context> arg; | 5168 | 1.07M | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 1.07M | arg.m_value = make_value<Context>(value); | 5170 | 1.07M | return arg; | 5171 | 1.07M | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) Line | Count | Source | 5164 | 538k | { | 5165 | 538k | check_scan_arg_types<T>(); | 5166 | | | 5167 | 538k | basic_scan_arg<Context> arg; | 5168 | 538k | arg.m_type = mapped_type_constant<T, typename Context::char_type>::value; | 5169 | 538k | arg.m_value = make_value<Context>(value); | 5170 | 538k | return arg; | 5171 | 538k | } |
|
5172 | | |
5173 | | template <scan_arg_store_kind Kind, |
5174 | | typename Context, |
5175 | | arg_type, |
5176 | | typename T, |
5177 | | typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>> |
5178 | | constexpr void* make_arg(T& value) |
5179 | 17.8M | { |
5180 | 17.8M | return make_value<Context>(value).ref_value; |
5181 | 17.8M | } void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)1, signed char, void>(signed char&) Line | Count | Source | 5179 | 630k | { | 5180 | 630k | return make_value<Context>(value).ref_value; | 5181 | 630k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)6, unsigned char, void>(unsigned char&) Line | Count | Source | 5179 | 609k | { | 5180 | 609k | return make_value<Context>(value).ref_value; | 5181 | 609k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)3, int, void>(int&) Line | Count | Source | 5179 | 816k | { | 5180 | 816k | return make_value<Context>(value).ref_value; | 5181 | 816k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)8, unsigned int, void>(unsigned int&) Line | Count | Source | 5179 | 709k | { | 5180 | 709k | return make_value<Context>(value).ref_value; | 5181 | 709k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)5, long long, void>(long long&) Line | Count | Source | 5179 | 810k | { | 5180 | 810k | return make_value<Context>(value).ref_value; | 5181 | 810k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)10, unsigned long long, void>(unsigned long long&) Line | Count | Source | 5179 | 695k | { | 5180 | 695k | return make_value<Context>(value).ref_value; | 5181 | 695k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)1, signed char, void>(signed char&) Line | Count | Source | 5179 | 167k | { | 5180 | 167k | return make_value<Context>(value).ref_value; | 5181 | 167k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)6, unsigned char, void>(unsigned char&) Line | Count | Source | 5179 | 167k | { | 5180 | 167k | return make_value<Context>(value).ref_value; | 5181 | 167k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)3, int, void>(int&) Line | Count | Source | 5179 | 210k | { | 5180 | 210k | return make_value<Context>(value).ref_value; | 5181 | 210k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)8, unsigned int, void>(unsigned int&) Line | Count | Source | 5179 | 210k | { | 5180 | 210k | return make_value<Context>(value).ref_value; | 5181 | 210k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)5, long long, void>(long long&) Line | Count | Source | 5179 | 168k | { | 5180 | 168k | return make_value<Context>(value).ref_value; | 5181 | 168k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)10, unsigned long long, void>(unsigned long long&) Line | Count | Source | 5179 | 168k | { | 5180 | 168k | return make_value<Context>(value).ref_value; | 5181 | 168k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)16, float, void>(float&) Line | Count | Source | 5179 | 996k | { | 5180 | 996k | return make_value<Context>(value).ref_value; | 5181 | 996k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)17, double, void>(double&) Line | Count | Source | 5179 | 1.06M | { | 5180 | 1.06M | return make_value<Context>(value).ref_value; | 5181 | 1.06M | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)18, long double, void>(long double&) Line | Count | Source | 5179 | 1.05M | { | 5180 | 1.05M | return make_value<Context>(value).ref_value; | 5181 | 1.05M | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)16, float, void>(float&) Line | Count | Source | 5179 | 491k | { | 5180 | 491k | return make_value<Context>(value).ref_value; | 5181 | 491k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)17, double, void>(double&) Line | Count | Source | 5179 | 594k | { | 5180 | 594k | return make_value<Context>(value).ref_value; | 5181 | 594k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)18, long double, void>(long double&) Line | Count | Source | 5179 | 562k | { | 5180 | 562k | return make_value<Context>(value).ref_value; | 5181 | 562k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)12, char, void>(char&) Line | Count | Source | 5179 | 21.3k | { | 5180 | 21.3k | return make_value<Context>(value).ref_value; | 5181 | 21.3k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)11, bool, void>(bool&) Line | Count | Source | 5179 | 21.3k | { | 5180 | 21.3k | return make_value<Context>(value).ref_value; | 5181 | 21.3k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)15, void*, void>(void*&) Line | Count | Source | 5179 | 21.3k | { | 5180 | 21.3k | return make_value<Context>(value).ref_value; | 5181 | 21.3k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) Line | Count | Source | 5179 | 531k | { | 5180 | 531k | return make_value<Context>(value).ref_value; | 5181 | 531k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) Line | Count | Source | 5179 | 21.3k | { | 5180 | 21.3k | return make_value<Context>(value).ref_value; | 5181 | 21.3k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)19, std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) Line | Count | Source | 5179 | 253k | { | 5180 | 253k | return make_value<Context>(value).ref_value; | 5181 | 253k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)13, wchar_t, void>(wchar_t&) Line | Count | Source | 5179 | 42.6k | { | 5180 | 42.6k | return make_value<Context>(value).ref_value; | 5181 | 42.6k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)11, bool, void>(bool&) Line | Count | Source | 5179 | 42.6k | { | 5180 | 42.6k | return make_value<Context>(value).ref_value; | 5181 | 42.6k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)15, void*, void>(void*&) Line | Count | Source | 5179 | 42.6k | { | 5180 | 42.6k | return make_value<Context>(value).ref_value; | 5181 | 42.6k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) Line | Count | Source | 5179 | 42.6k | { | 5180 | 42.6k | return make_value<Context>(value).ref_value; | 5181 | 42.6k | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) Line | Count | Source | 5179 | 4.42M | { | 5180 | 4.42M | return make_value<Context>(value).ref_value; | 5181 | 4.42M | } |
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)20, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) Line | Count | Source | 5179 | 2.23M | { | 5180 | 2.23M | return make_value<Context>(value).ref_value; | 5181 | 2.23M | } |
|
5182 | | template <scan_arg_store_kind Kind, |
5183 | | typename Context, |
5184 | | arg_type, |
5185 | | typename T, |
5186 | | typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>> |
5187 | | constexpr arg_value make_arg(T& value) |
5188 | | { |
5189 | | return make_value<Context>(value); |
5190 | | } |
5191 | | template <scan_arg_store_kind Kind, |
5192 | | typename Context, |
5193 | | arg_type, |
5194 | | typename T, |
5195 | | typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>> |
5196 | | constexpr basic_scan_arg<Context> make_arg(T&& value) |
5197 | | { |
5198 | | return make_arg<Context>(SCN_FWD(value)); |
5199 | | } |
5200 | | |
5201 | | template <typename Context> |
5202 | | constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg); |
5203 | | } // namespace detail |
5204 | | |
5205 | | template <typename Visitor, typename Ctx> |
5206 | | constexpr decltype(auto) visit_scan_arg(Visitor&& vis, |
5207 | | basic_scan_arg<Ctx>& arg); |
5208 | | |
5209 | | /** |
5210 | | * Type-erased scanning argument. |
5211 | | * |
5212 | | * Contains a pointer to the value contained in a `scan_arg_store`. |
5213 | | */ |
5214 | | template <typename Context> |
5215 | | class basic_scan_arg { |
5216 | | public: |
5217 | | /** |
5218 | | * Enables scanning of a user-defined type. |
5219 | | * |
5220 | | * Contains a pointer to the value contained in a `scan_arg_store`, and |
5221 | | * a callback for parsing the format string, and scanning the value. |
5222 | | * |
5223 | | * \see scn::visit_scan_arg |
5224 | | */ |
5225 | | class handle { |
5226 | | public: |
5227 | | /** |
5228 | | * Parse the format string in `parse_ctx`, and scan the value from |
5229 | | * `ctx`. |
5230 | | * |
5231 | | * \return Any error returned by the scanner |
5232 | | */ |
5233 | | scan_error scan(typename Context::parse_context_type& parse_ctx, |
5234 | | Context& ctx) const |
5235 | 0 | { |
5236 | 0 | return m_custom.scan(m_custom.value, &parse_ctx, &ctx); |
5237 | 0 | } Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle::scan(scn::v3::basic_scan_parse_context<char>&, scn::v3::basic_scan_context<char>&) const Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle::scan(scn::v3::basic_scan_parse_context<wchar_t>&, scn::v3::basic_scan_context<wchar_t>&) const |
5238 | | |
5239 | | private: |
5240 | 0 | explicit handle(detail::custom_value_type custom) : m_custom(custom) {}Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle::handle(scn::v3::detail::custom_value_type) Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle::handle(scn::v3::detail::custom_value_type) |
5241 | | |
5242 | | template <typename Visitor, typename C> |
5243 | | friend constexpr decltype(auto) visit_scan_arg(Visitor&& vis, |
5244 | | basic_scan_arg<C>& arg); |
5245 | | |
5246 | | detail::custom_value_type m_custom; |
5247 | | }; |
5248 | | |
5249 | | /// Construct a `basic_scan_arg` which doesn't contain an argument. |
5250 | 20.0M | constexpr basic_scan_arg() = default; scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::basic_scan_arg() Line | Count | Source | 5250 | 9.01M | constexpr basic_scan_arg() = default; |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::basic_scan_arg() Line | Count | Source | 5250 | 11.0M | constexpr basic_scan_arg() = default; |
|
5251 | | |
5252 | | /** |
5253 | | * @return `true` if `*this` contains an argument |
5254 | | */ |
5255 | | constexpr explicit operator bool() const noexcept |
5256 | 31.6M | { |
5257 | 31.6M | return m_type != detail::arg_type::none_type; |
5258 | 31.6M | } scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::operator bool() const Line | Count | Source | 5256 | 15.3M | { | 5257 | 15.3M | return m_type != detail::arg_type::none_type; | 5258 | 15.3M | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::operator bool() const Line | Count | Source | 5256 | 16.3M | { | 5257 | 16.3M | return m_type != detail::arg_type::none_type; | 5258 | 16.3M | } |
|
5259 | | |
5260 | | SCN_NODISCARD constexpr detail::arg_type type() const |
5261 | 24.2M | { |
5262 | 24.2M | return m_type; |
5263 | 24.2M | } scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::type() const Line | Count | Source | 5261 | 13.0M | { | 5262 | 13.0M | return m_type; | 5263 | 13.0M | } |
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::type() const Line | Count | Source | 5261 | 11.1M | { | 5262 | 11.1M | return m_type; | 5263 | 11.1M | } |
|
5264 | | |
5265 | | SCN_NODISCARD constexpr detail::arg_value& value() |
5266 | | { |
5267 | | return m_value; |
5268 | | } |
5269 | | SCN_NODISCARD constexpr const detail::arg_value& value() const |
5270 | | { |
5271 | | return m_value; |
5272 | | } |
5273 | | |
5274 | | private: |
5275 | | template <typename ContextType, typename T> |
5276 | | friend constexpr basic_scan_arg<ContextType> detail::make_arg(T& value); |
5277 | | |
5278 | | template <typename C> |
5279 | | friend constexpr detail::arg_value& detail::get_arg_value( |
5280 | | basic_scan_arg<C>& arg); |
5281 | | |
5282 | | template <typename Visitor, typename C> |
5283 | | friend constexpr decltype(auto) visit_scan_arg(Visitor&& vis, |
5284 | | basic_scan_arg<C>& arg); |
5285 | | |
5286 | | friend class basic_scan_args<Context>; |
5287 | | |
5288 | | detail::arg_value m_value{}; |
5289 | | detail::arg_type m_type{detail::arg_type::none_type}; |
5290 | | }; |
5291 | | |
5292 | | namespace detail { |
5293 | | template <typename Context> |
5294 | | constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg) |
5295 | | { |
5296 | | return arg.m_value; |
5297 | | } |
5298 | | |
5299 | | template <typename CharT> |
5300 | | constexpr bool all_types_builtin() |
5301 | 0 | { |
5302 | 0 | return true; |
5303 | 0 | } Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t>() |
5304 | | template <typename CharT, typename T, typename... Args> |
5305 | | constexpr bool all_types_builtin() |
5306 | 0 | { |
5307 | 0 | return mapped_type_constant<T, CharT>::value != arg_type::custom_type && |
5308 | 0 | all_types_builtin<CharT, Args...>(); |
5309 | 0 | } Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, signed char>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned char>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, int>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned int>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, long long>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned long long>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, signed char>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned char>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, int>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned int>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, long long>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned long long>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, float>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, double>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, long double>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, float>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, double>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, long double>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, char>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, bool>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, void*>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, wchar_t>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, bool>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, void*>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>() Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>() |
5310 | | |
5311 | | template <typename CharT, typename... Args> |
5312 | | constexpr scan_arg_store_kind determine_arg_store_kind() |
5313 | 0 | { |
5314 | 0 | if (sizeof...(Args) > max_packed_args) { |
5315 | 0 | return scan_arg_store_kind::unpacked; |
5316 | 0 | } |
5317 | 0 | #if !(SCN_CLANG && SCN_APPLE) |
5318 | 0 | // This doesn't work on Apple Clang. I don't know why |
5319 | 0 | if (all_types_builtin<CharT, Args...>()) { |
5320 | 0 | return scan_arg_store_kind::builtin; |
5321 | 0 | } |
5322 | 0 | #endif |
5323 | 0 | return scan_arg_store_kind::packed; |
5324 | 0 | } Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, signed char>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned char>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, int>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned int>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, long long>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned long long>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, signed char>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned char>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, int>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned int>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, long long>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned long long>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, float>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, double>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, long double>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, float>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, double>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, long double>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, char>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, bool>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, void*>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, wchar_t>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, bool>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, void*>() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >() Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >() |
5325 | | |
5326 | | template <scan_arg_store_kind Kind, typename CharT, typename... Args> |
5327 | | constexpr size_t compute_arg_store_desc() |
5328 | 0 | { |
5329 | 0 | if constexpr (Kind == scan_arg_store_kind::builtin) { |
5330 | 0 | return encode_types<CharT, Args...>(); |
5331 | 0 | } |
5332 | 0 | else if constexpr (Kind == scan_arg_store_kind::packed) { |
5333 | 0 | return encode_types<CharT, Args...>() | has_custom_types_bit; |
5334 | 0 | } |
5335 | 0 | else { |
5336 | 0 | return sizeof...(Args) | is_unpacked_bit; |
5337 | 0 | } |
5338 | 0 | } Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, signed char>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned char>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, int>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned int>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, long long>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned long long>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, signed char>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned char>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, int>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned int>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, long long>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned long long>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, float>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, double>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, long double>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, float>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, double>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, long double>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, char>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, bool>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, void*>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, wchar_t>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, bool>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, void*>() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >() Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >() |
5339 | | |
5340 | | template <typename Context, typename... Args> |
5341 | | class scan_arg_store { |
5342 | | public: |
5343 | | static constexpr scan_arg_store_kind kind = |
5344 | | determine_arg_store_kind<typename Context::char_type, Args...>(); |
5345 | | static constexpr size_t desc = |
5346 | | compute_arg_store_desc<kind, typename Context::char_type, Args...>(); |
5347 | | |
5348 | | using argptr_type = std::conditional_t< |
5349 | | kind == scan_arg_store_kind::builtin, |
5350 | | void*, |
5351 | | std::conditional_t<kind == scan_arg_store_kind::packed, |
5352 | | arg_value, |
5353 | | basic_scan_arg<Context>>>; |
5354 | | using argptrs_type = std::array<argptr_type, sizeof...(Args)>; |
5355 | | |
5356 | | constexpr scan_arg_store() |
5357 | 17.8M | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) |
5358 | 17.8M | { |
5359 | 17.8M | } scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::scan_arg_store() Line | Count | Source | 5357 | 630k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 630k | { | 5359 | 630k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::scan_arg_store() Line | Count | Source | 5357 | 609k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 609k | { | 5359 | 609k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::scan_arg_store() Line | Count | Source | 5357 | 816k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 816k | { | 5359 | 816k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::scan_arg_store() Line | Count | Source | 5357 | 709k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 709k | { | 5359 | 709k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::scan_arg_store() Line | Count | Source | 5357 | 810k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 810k | { | 5359 | 810k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::scan_arg_store() Line | Count | Source | 5357 | 695k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 695k | { | 5359 | 695k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::scan_arg_store() Line | Count | Source | 5357 | 167k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 167k | { | 5359 | 167k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::scan_arg_store() Line | Count | Source | 5357 | 167k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 167k | { | 5359 | 167k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::scan_arg_store() Line | Count | Source | 5357 | 210k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 210k | { | 5359 | 210k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::scan_arg_store() Line | Count | Source | 5357 | 210k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 210k | { | 5359 | 210k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::scan_arg_store() Line | Count | Source | 5357 | 168k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 168k | { | 5359 | 168k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::scan_arg_store() Line | Count | Source | 5357 | 168k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 168k | { | 5359 | 168k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::scan_arg_store() Line | Count | Source | 5357 | 996k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 996k | { | 5359 | 996k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::scan_arg_store() Line | Count | Source | 5357 | 1.06M | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 1.06M | { | 5359 | 1.06M | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::scan_arg_store() Line | Count | Source | 5357 | 1.05M | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 1.05M | { | 5359 | 1.05M | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::scan_arg_store() Line | Count | Source | 5357 | 491k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 491k | { | 5359 | 491k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::scan_arg_store() Line | Count | Source | 5357 | 594k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 594k | { | 5359 | 594k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::scan_arg_store() Line | Count | Source | 5357 | 562k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 562k | { | 5359 | 562k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::scan_arg_store() Line | Count | Source | 5357 | 21.3k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 21.3k | { | 5359 | 21.3k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::scan_arg_store() Line | Count | Source | 5357 | 21.3k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 21.3k | { | 5359 | 21.3k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::scan_arg_store() Line | Count | Source | 5357 | 21.3k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 21.3k | { | 5359 | 21.3k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store() Line | Count | Source | 5357 | 531k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 531k | { | 5359 | 531k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store() Line | Count | Source | 5357 | 21.3k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 21.3k | { | 5359 | 21.3k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_arg_store() Line | Count | Source | 5357 | 253k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 253k | { | 5359 | 253k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::scan_arg_store() Line | Count | Source | 5357 | 42.6k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 42.6k | { | 5359 | 42.6k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::scan_arg_store() Line | Count | Source | 5357 | 42.6k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 42.6k | { | 5359 | 42.6k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::scan_arg_store() Line | Count | Source | 5357 | 42.6k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 42.6k | { | 5359 | 42.6k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store() Line | Count | Source | 5357 | 42.6k | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 42.6k | { | 5359 | 42.6k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store() Line | Count | Source | 5357 | 4.42M | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 4.42M | { | 5359 | 4.42M | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_arg_store() Line | Count | Source | 5357 | 2.23M | : m_argptrs(std::apply(make_argptrs<Args...>, m_args)) | 5358 | 2.23M | { | 5359 | 2.23M | } |
|
5360 | | |
5361 | | constexpr explicit scan_arg_store(std::tuple<Args...>&& a) |
5362 | | : m_args(std::move(a)), |
5363 | | m_argptrs(std::apply(make_argptrs<Args...>, m_args)) |
5364 | | { |
5365 | | } |
5366 | | |
5367 | | template <typename... A> |
5368 | | static constexpr argptrs_type make_argptrs(A&... args) |
5369 | 17.8M | { |
5370 | 17.8M | return {detail::make_arg< |
5371 | 17.8M | kind, Context, |
5372 | 17.8M | mapped_type_constant<remove_cvref_t<A>, |
5373 | 17.8M | typename Context::char_type>::value>(args)...}; |
5374 | 17.8M | } std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::make_argptrs<signed char>(signed char&) Line | Count | Source | 5369 | 630k | { | 5370 | 630k | return {detail::make_arg< | 5371 | 630k | kind, Context, | 5372 | 630k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 630k | typename Context::char_type>::value>(args)...}; | 5374 | 630k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::make_argptrs<unsigned char>(unsigned char&) Line | Count | Source | 5369 | 609k | { | 5370 | 609k | return {detail::make_arg< | 5371 | 609k | kind, Context, | 5372 | 609k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 609k | typename Context::char_type>::value>(args)...}; | 5374 | 609k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::make_argptrs<int>(int&) Line | Count | Source | 5369 | 816k | { | 5370 | 816k | return {detail::make_arg< | 5371 | 816k | kind, Context, | 5372 | 816k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 816k | typename Context::char_type>::value>(args)...}; | 5374 | 816k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::make_argptrs<unsigned int>(unsigned int&) Line | Count | Source | 5369 | 709k | { | 5370 | 709k | return {detail::make_arg< | 5371 | 709k | kind, Context, | 5372 | 709k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 709k | typename Context::char_type>::value>(args)...}; | 5374 | 709k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::make_argptrs<long long>(long long&) Line | Count | Source | 5369 | 810k | { | 5370 | 810k | return {detail::make_arg< | 5371 | 810k | kind, Context, | 5372 | 810k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 810k | typename Context::char_type>::value>(args)...}; | 5374 | 810k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&) Line | Count | Source | 5369 | 695k | { | 5370 | 695k | return {detail::make_arg< | 5371 | 695k | kind, Context, | 5372 | 695k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 695k | typename Context::char_type>::value>(args)...}; | 5374 | 695k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::make_argptrs<signed char>(signed char&) Line | Count | Source | 5369 | 167k | { | 5370 | 167k | return {detail::make_arg< | 5371 | 167k | kind, Context, | 5372 | 167k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 167k | typename Context::char_type>::value>(args)...}; | 5374 | 167k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::make_argptrs<unsigned char>(unsigned char&) Line | Count | Source | 5369 | 167k | { | 5370 | 167k | return {detail::make_arg< | 5371 | 167k | kind, Context, | 5372 | 167k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 167k | typename Context::char_type>::value>(args)...}; | 5374 | 167k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::make_argptrs<int>(int&) Line | Count | Source | 5369 | 210k | { | 5370 | 210k | return {detail::make_arg< | 5371 | 210k | kind, Context, | 5372 | 210k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 210k | typename Context::char_type>::value>(args)...}; | 5374 | 210k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::make_argptrs<unsigned int>(unsigned int&) Line | Count | Source | 5369 | 210k | { | 5370 | 210k | return {detail::make_arg< | 5371 | 210k | kind, Context, | 5372 | 210k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 210k | typename Context::char_type>::value>(args)...}; | 5374 | 210k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::make_argptrs<long long>(long long&) Line | Count | Source | 5369 | 168k | { | 5370 | 168k | return {detail::make_arg< | 5371 | 168k | kind, Context, | 5372 | 168k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 168k | typename Context::char_type>::value>(args)...}; | 5374 | 168k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&) Line | Count | Source | 5369 | 168k | { | 5370 | 168k | return {detail::make_arg< | 5371 | 168k | kind, Context, | 5372 | 168k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 168k | typename Context::char_type>::value>(args)...}; | 5374 | 168k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::make_argptrs<float>(float&) Line | Count | Source | 5369 | 996k | { | 5370 | 996k | return {detail::make_arg< | 5371 | 996k | kind, Context, | 5372 | 996k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 996k | typename Context::char_type>::value>(args)...}; | 5374 | 996k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::make_argptrs<double>(double&) Line | Count | Source | 5369 | 1.06M | { | 5370 | 1.06M | return {detail::make_arg< | 5371 | 1.06M | kind, Context, | 5372 | 1.06M | mapped_type_constant<remove_cvref_t<A>, | 5373 | 1.06M | typename Context::char_type>::value>(args)...}; | 5374 | 1.06M | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::make_argptrs<long double>(long double&) Line | Count | Source | 5369 | 1.05M | { | 5370 | 1.05M | return {detail::make_arg< | 5371 | 1.05M | kind, Context, | 5372 | 1.05M | mapped_type_constant<remove_cvref_t<A>, | 5373 | 1.05M | typename Context::char_type>::value>(args)...}; | 5374 | 1.05M | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::make_argptrs<float>(float&) Line | Count | Source | 5369 | 491k | { | 5370 | 491k | return {detail::make_arg< | 5371 | 491k | kind, Context, | 5372 | 491k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 491k | typename Context::char_type>::value>(args)...}; | 5374 | 491k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::make_argptrs<double>(double&) Line | Count | Source | 5369 | 594k | { | 5370 | 594k | return {detail::make_arg< | 5371 | 594k | kind, Context, | 5372 | 594k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 594k | typename Context::char_type>::value>(args)...}; | 5374 | 594k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::make_argptrs<long double>(long double&) Line | Count | Source | 5369 | 562k | { | 5370 | 562k | return {detail::make_arg< | 5371 | 562k | kind, Context, | 5372 | 562k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 562k | typename Context::char_type>::value>(args)...}; | 5374 | 562k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::make_argptrs<char>(char&) Line | Count | Source | 5369 | 21.3k | { | 5370 | 21.3k | return {detail::make_arg< | 5371 | 21.3k | kind, Context, | 5372 | 21.3k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 21.3k | typename Context::char_type>::value>(args)...}; | 5374 | 21.3k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::make_argptrs<bool>(bool&) Line | Count | Source | 5369 | 21.3k | { | 5370 | 21.3k | return {detail::make_arg< | 5371 | 21.3k | kind, Context, | 5372 | 21.3k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 21.3k | typename Context::char_type>::value>(args)...}; | 5374 | 21.3k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::make_argptrs<void*>(void*&) Line | Count | Source | 5369 | 21.3k | { | 5370 | 21.3k | return {detail::make_arg< | 5371 | 21.3k | kind, Context, | 5372 | 21.3k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 21.3k | typename Context::char_type>::value>(args)...}; | 5374 | 21.3k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) Line | Count | Source | 5369 | 531k | { | 5370 | 531k | return {detail::make_arg< | 5371 | 531k | kind, Context, | 5372 | 531k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 531k | typename Context::char_type>::value>(args)...}; | 5374 | 531k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) Line | Count | Source | 5369 | 21.3k | { | 5370 | 21.3k | return {detail::make_arg< | 5371 | 21.3k | kind, Context, | 5372 | 21.3k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 21.3k | typename Context::char_type>::value>(args)...}; | 5374 | 21.3k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::make_argptrs<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) Line | Count | Source | 5369 | 253k | { | 5370 | 253k | return {detail::make_arg< | 5371 | 253k | kind, Context, | 5372 | 253k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 253k | typename Context::char_type>::value>(args)...}; | 5374 | 253k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::make_argptrs<wchar_t>(wchar_t&) Line | Count | Source | 5369 | 42.6k | { | 5370 | 42.6k | return {detail::make_arg< | 5371 | 42.6k | kind, Context, | 5372 | 42.6k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 42.6k | typename Context::char_type>::value>(args)...}; | 5374 | 42.6k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::make_argptrs<bool>(bool&) Line | Count | Source | 5369 | 42.6k | { | 5370 | 42.6k | return {detail::make_arg< | 5371 | 42.6k | kind, Context, | 5372 | 42.6k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 42.6k | typename Context::char_type>::value>(args)...}; | 5374 | 42.6k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::make_argptrs<void*>(void*&) Line | Count | Source | 5369 | 42.6k | { | 5370 | 42.6k | return {detail::make_arg< | 5371 | 42.6k | kind, Context, | 5372 | 42.6k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 42.6k | typename Context::char_type>::value>(args)...}; | 5374 | 42.6k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) Line | Count | Source | 5369 | 42.6k | { | 5370 | 42.6k | return {detail::make_arg< | 5371 | 42.6k | kind, Context, | 5372 | 42.6k | mapped_type_constant<remove_cvref_t<A>, | 5373 | 42.6k | typename Context::char_type>::value>(args)...}; | 5374 | 42.6k | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) Line | Count | Source | 5369 | 4.42M | { | 5370 | 4.42M | return {detail::make_arg< | 5371 | 4.42M | kind, Context, | 5372 | 4.42M | mapped_type_constant<remove_cvref_t<A>, | 5373 | 4.42M | typename Context::char_type>::value>(args)...}; | 5374 | 4.42M | } |
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::make_argptrs<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) Line | Count | Source | 5369 | 2.23M | { | 5370 | 2.23M | return {detail::make_arg< | 5371 | 2.23M | kind, Context, | 5372 | 2.23M | mapped_type_constant<remove_cvref_t<A>, | 5373 | 2.23M | typename Context::char_type>::value>(args)...}; | 5374 | 2.23M | } |
|
5375 | | |
5376 | | scan_arg_store(const scan_arg_store&) = delete; |
5377 | | scan_arg_store(scan_arg_store&&) = delete; |
5378 | | scan_arg_store& operator=(const scan_arg_store&) = delete; |
5379 | | scan_arg_store& operator=(scan_arg_store&&) = delete; |
5380 | 5.01M | ~scan_arg_store() = default; scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_arg_store() Line | Count | Source | 5380 | 531k | ~scan_arg_store() = default; |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_arg_store() Line | Count | Source | 5380 | 21.3k | ~scan_arg_store() = default; |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_arg_store() Line | Count | Source | 5380 | 42.6k | ~scan_arg_store() = default; |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_arg_store() Line | Count | Source | 5380 | 4.42M | ~scan_arg_store() = default; |
|
5381 | | |
5382 | | std::tuple<Args...>& args() |
5383 | 17.8M | { |
5384 | 17.8M | return m_args; |
5385 | 17.8M | } scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::args() Line | Count | Source | 5383 | 630k | { | 5384 | 630k | return m_args; | 5385 | 630k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::args() Line | Count | Source | 5383 | 609k | { | 5384 | 609k | return m_args; | 5385 | 609k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::args() Line | Count | Source | 5383 | 816k | { | 5384 | 816k | return m_args; | 5385 | 816k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::args() Line | Count | Source | 5383 | 709k | { | 5384 | 709k | return m_args; | 5385 | 709k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::args() Line | Count | Source | 5383 | 810k | { | 5384 | 810k | return m_args; | 5385 | 810k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::args() Line | Count | Source | 5383 | 695k | { | 5384 | 695k | return m_args; | 5385 | 695k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::args() Line | Count | Source | 5383 | 167k | { | 5384 | 167k | return m_args; | 5385 | 167k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::args() Line | Count | Source | 5383 | 167k | { | 5384 | 167k | return m_args; | 5385 | 167k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::args() Line | Count | Source | 5383 | 210k | { | 5384 | 210k | return m_args; | 5385 | 210k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::args() Line | Count | Source | 5383 | 210k | { | 5384 | 210k | return m_args; | 5385 | 210k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::args() Line | Count | Source | 5383 | 168k | { | 5384 | 168k | return m_args; | 5385 | 168k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::args() Line | Count | Source | 5383 | 168k | { | 5384 | 168k | return m_args; | 5385 | 168k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::args() Line | Count | Source | 5383 | 996k | { | 5384 | 996k | return m_args; | 5385 | 996k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::args() Line | Count | Source | 5383 | 1.06M | { | 5384 | 1.06M | return m_args; | 5385 | 1.06M | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::args() Line | Count | Source | 5383 | 1.05M | { | 5384 | 1.05M | return m_args; | 5385 | 1.05M | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::args() Line | Count | Source | 5383 | 491k | { | 5384 | 491k | return m_args; | 5385 | 491k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::args() Line | Count | Source | 5383 | 594k | { | 5384 | 594k | return m_args; | 5385 | 594k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::args() Line | Count | Source | 5383 | 562k | { | 5384 | 562k | return m_args; | 5385 | 562k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::args() Line | Count | Source | 5383 | 21.3k | { | 5384 | 21.3k | return m_args; | 5385 | 21.3k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::args() Line | Count | Source | 5383 | 21.3k | { | 5384 | 21.3k | return m_args; | 5385 | 21.3k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::args() Line | Count | Source | 5383 | 21.3k | { | 5384 | 21.3k | return m_args; | 5385 | 21.3k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::args() Line | Count | Source | 5383 | 531k | { | 5384 | 531k | return m_args; | 5385 | 531k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::args() Line | Count | Source | 5383 | 21.3k | { | 5384 | 21.3k | return m_args; | 5385 | 21.3k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::args() Line | Count | Source | 5383 | 253k | { | 5384 | 253k | return m_args; | 5385 | 253k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::args() Line | Count | Source | 5383 | 42.6k | { | 5384 | 42.6k | return m_args; | 5385 | 42.6k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::args() Line | Count | Source | 5383 | 42.6k | { | 5384 | 42.6k | return m_args; | 5385 | 42.6k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::args() Line | Count | Source | 5383 | 42.6k | { | 5384 | 42.6k | return m_args; | 5385 | 42.6k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::args() Line | Count | Source | 5383 | 42.6k | { | 5384 | 42.6k | return m_args; | 5385 | 42.6k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::args() Line | Count | Source | 5383 | 4.42M | { | 5384 | 4.42M | return m_args; | 5385 | 4.42M | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::args() Line | Count | Source | 5383 | 2.23M | { | 5384 | 2.23M | return m_args; | 5385 | 2.23M | } |
|
5386 | | |
5387 | | argptrs_type& arg_pointers() |
5388 | 17.8M | { |
5389 | 17.8M | return m_argptrs; |
5390 | 17.8M | } scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::arg_pointers() Line | Count | Source | 5388 | 630k | { | 5389 | 630k | return m_argptrs; | 5390 | 630k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::arg_pointers() Line | Count | Source | 5388 | 609k | { | 5389 | 609k | return m_argptrs; | 5390 | 609k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::arg_pointers() Line | Count | Source | 5388 | 816k | { | 5389 | 816k | return m_argptrs; | 5390 | 816k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::arg_pointers() Line | Count | Source | 5388 | 709k | { | 5389 | 709k | return m_argptrs; | 5390 | 709k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::arg_pointers() Line | Count | Source | 5388 | 810k | { | 5389 | 810k | return m_argptrs; | 5390 | 810k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::arg_pointers() Line | Count | Source | 5388 | 695k | { | 5389 | 695k | return m_argptrs; | 5390 | 695k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::arg_pointers() Line | Count | Source | 5388 | 167k | { | 5389 | 167k | return m_argptrs; | 5390 | 167k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::arg_pointers() Line | Count | Source | 5388 | 167k | { | 5389 | 167k | return m_argptrs; | 5390 | 167k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::arg_pointers() Line | Count | Source | 5388 | 210k | { | 5389 | 210k | return m_argptrs; | 5390 | 210k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::arg_pointers() Line | Count | Source | 5388 | 210k | { | 5389 | 210k | return m_argptrs; | 5390 | 210k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::arg_pointers() Line | Count | Source | 5388 | 168k | { | 5389 | 168k | return m_argptrs; | 5390 | 168k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::arg_pointers() Line | Count | Source | 5388 | 168k | { | 5389 | 168k | return m_argptrs; | 5390 | 168k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::arg_pointers() Line | Count | Source | 5388 | 996k | { | 5389 | 996k | return m_argptrs; | 5390 | 996k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::arg_pointers() Line | Count | Source | 5388 | 1.06M | { | 5389 | 1.06M | return m_argptrs; | 5390 | 1.06M | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::arg_pointers() Line | Count | Source | 5388 | 1.05M | { | 5389 | 1.05M | return m_argptrs; | 5390 | 1.05M | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::arg_pointers() Line | Count | Source | 5388 | 491k | { | 5389 | 491k | return m_argptrs; | 5390 | 491k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::arg_pointers() Line | Count | Source | 5388 | 594k | { | 5389 | 594k | return m_argptrs; | 5390 | 594k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::arg_pointers() Line | Count | Source | 5388 | 562k | { | 5389 | 562k | return m_argptrs; | 5390 | 562k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::arg_pointers() Line | Count | Source | 5388 | 21.3k | { | 5389 | 21.3k | return m_argptrs; | 5390 | 21.3k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::arg_pointers() Line | Count | Source | 5388 | 21.3k | { | 5389 | 21.3k | return m_argptrs; | 5390 | 21.3k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::arg_pointers() Line | Count | Source | 5388 | 21.3k | { | 5389 | 21.3k | return m_argptrs; | 5390 | 21.3k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::arg_pointers() Line | Count | Source | 5388 | 531k | { | 5389 | 531k | return m_argptrs; | 5390 | 531k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::arg_pointers() Line | Count | Source | 5388 | 21.3k | { | 5389 | 21.3k | return m_argptrs; | 5390 | 21.3k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::arg_pointers() Line | Count | Source | 5388 | 253k | { | 5389 | 253k | return m_argptrs; | 5390 | 253k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::arg_pointers() Line | Count | Source | 5388 | 42.6k | { | 5389 | 42.6k | return m_argptrs; | 5390 | 42.6k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::arg_pointers() Line | Count | Source | 5388 | 42.6k | { | 5389 | 42.6k | return m_argptrs; | 5390 | 42.6k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::arg_pointers() Line | Count | Source | 5388 | 42.6k | { | 5389 | 42.6k | return m_argptrs; | 5390 | 42.6k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::arg_pointers() Line | Count | Source | 5388 | 42.6k | { | 5389 | 42.6k | return m_argptrs; | 5390 | 42.6k | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::arg_pointers() Line | Count | Source | 5388 | 4.42M | { | 5389 | 4.42M | return m_argptrs; | 5390 | 4.42M | } |
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::arg_pointers() Line | Count | Source | 5388 | 2.23M | { | 5389 | 2.23M | return m_argptrs; | 5390 | 2.23M | } |
|
5391 | | |
5392 | | private: |
5393 | | std::tuple<Args...> m_args; |
5394 | | argptrs_type m_argptrs; |
5395 | | }; |
5396 | | |
5397 | | } // namespace detail |
5398 | | |
5399 | | /** |
5400 | | * Constructs a `scan_arg_store` object, associated with `Context`, |
5401 | | * that contains value-initialized values of types `Args...`. |
5402 | | */ |
5403 | | template <typename Context = scan_context, typename... Args> |
5404 | | constexpr auto make_scan_args() |
5405 | 17.8M | { |
5406 | 17.8M | detail::check_scan_arg_types<Args...>(); |
5407 | 17.8M | return detail::scan_arg_store<Context, Args...>{}; |
5408 | 17.8M | } auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, signed char>() Line | Count | Source | 5405 | 630k | { | 5406 | 630k | detail::check_scan_arg_types<Args...>(); | 5407 | 630k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 630k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned char>() Line | Count | Source | 5405 | 609k | { | 5406 | 609k | detail::check_scan_arg_types<Args...>(); | 5407 | 609k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 609k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, int>() Line | Count | Source | 5405 | 816k | { | 5406 | 816k | detail::check_scan_arg_types<Args...>(); | 5407 | 816k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 816k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned int>() Line | Count | Source | 5405 | 709k | { | 5406 | 709k | detail::check_scan_arg_types<Args...>(); | 5407 | 709k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 709k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, long long>() Line | Count | Source | 5405 | 810k | { | 5406 | 810k | detail::check_scan_arg_types<Args...>(); | 5407 | 810k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 810k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned long long>() Line | Count | Source | 5405 | 695k | { | 5406 | 695k | detail::check_scan_arg_types<Args...>(); | 5407 | 695k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 695k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, signed char>() Line | Count | Source | 5405 | 167k | { | 5406 | 167k | detail::check_scan_arg_types<Args...>(); | 5407 | 167k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 167k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned char>() Line | Count | Source | 5405 | 167k | { | 5406 | 167k | detail::check_scan_arg_types<Args...>(); | 5407 | 167k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 167k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, int>() Line | Count | Source | 5405 | 210k | { | 5406 | 210k | detail::check_scan_arg_types<Args...>(); | 5407 | 210k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 210k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned int>() Line | Count | Source | 5405 | 210k | { | 5406 | 210k | detail::check_scan_arg_types<Args...>(); | 5407 | 210k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 210k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, long long>() Line | Count | Source | 5405 | 168k | { | 5406 | 168k | detail::check_scan_arg_types<Args...>(); | 5407 | 168k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 168k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned long long>() Line | Count | Source | 5405 | 168k | { | 5406 | 168k | detail::check_scan_arg_types<Args...>(); | 5407 | 168k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 168k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, float>() Line | Count | Source | 5405 | 996k | { | 5406 | 996k | detail::check_scan_arg_types<Args...>(); | 5407 | 996k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 996k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, double>() Line | Count | Source | 5405 | 1.06M | { | 5406 | 1.06M | detail::check_scan_arg_types<Args...>(); | 5407 | 1.06M | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 1.06M | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, long double>() Line | Count | Source | 5405 | 1.05M | { | 5406 | 1.05M | detail::check_scan_arg_types<Args...>(); | 5407 | 1.05M | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 1.05M | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, float>() Line | Count | Source | 5405 | 491k | { | 5406 | 491k | detail::check_scan_arg_types<Args...>(); | 5407 | 491k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 491k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, double>() Line | Count | Source | 5405 | 594k | { | 5406 | 594k | detail::check_scan_arg_types<Args...>(); | 5407 | 594k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 594k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, long double>() Line | Count | Source | 5405 | 562k | { | 5406 | 562k | detail::check_scan_arg_types<Args...>(); | 5407 | 562k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 562k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, char>() Line | Count | Source | 5405 | 21.3k | { | 5406 | 21.3k | detail::check_scan_arg_types<Args...>(); | 5407 | 21.3k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 21.3k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, bool>() Line | Count | Source | 5405 | 21.3k | { | 5406 | 21.3k | detail::check_scan_arg_types<Args...>(); | 5407 | 21.3k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 21.3k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, void*>() Line | Count | Source | 5405 | 21.3k | { | 5406 | 21.3k | detail::check_scan_arg_types<Args...>(); | 5407 | 21.3k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 21.3k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() Line | Count | Source | 5405 | 531k | { | 5406 | 531k | detail::check_scan_arg_types<Args...>(); | 5407 | 531k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 531k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >() Line | Count | Source | 5405 | 21.3k | { | 5406 | 21.3k | detail::check_scan_arg_types<Args...>(); | 5407 | 21.3k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 21.3k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >() Line | Count | Source | 5405 | 253k | { | 5406 | 253k | detail::check_scan_arg_types<Args...>(); | 5407 | 253k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 253k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, wchar_t>() Line | Count | Source | 5405 | 42.6k | { | 5406 | 42.6k | detail::check_scan_arg_types<Args...>(); | 5407 | 42.6k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 42.6k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, bool>() Line | Count | Source | 5405 | 42.6k | { | 5406 | 42.6k | detail::check_scan_arg_types<Args...>(); | 5407 | 42.6k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 42.6k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, void*>() Line | Count | Source | 5405 | 42.6k | { | 5406 | 42.6k | detail::check_scan_arg_types<Args...>(); | 5407 | 42.6k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 42.6k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() Line | Count | Source | 5405 | 42.6k | { | 5406 | 42.6k | detail::check_scan_arg_types<Args...>(); | 5407 | 42.6k | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 42.6k | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >() Line | Count | Source | 5405 | 4.42M | { | 5406 | 4.42M | detail::check_scan_arg_types<Args...>(); | 5407 | 4.42M | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 4.42M | } |
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >() Line | Count | Source | 5405 | 2.23M | { | 5406 | 2.23M | detail::check_scan_arg_types<Args...>(); | 5407 | 2.23M | return detail::scan_arg_store<Context, Args...>{}; | 5408 | 2.23M | } |
|
5409 | | /** |
5410 | | * Constructs a `scan_arg_store` object, associated with `Context`, |
5411 | | * that contains `values`. |
5412 | | */ |
5413 | | template <typename Context = scan_context, typename... Args> |
5414 | | constexpr auto make_scan_args(std::tuple<Args...>&& values) |
5415 | | { |
5416 | | detail::check_scan_arg_types<Args...>(); |
5417 | | return detail::scan_arg_store<Context, Args...>{SCN_MOVE(values)}; |
5418 | | } |
5419 | | |
5420 | | /** |
5421 | | * A view over a collection of scanning arguments (`scan_arg_store`). |
5422 | | * |
5423 | | * Passed to `scn::vscan`, where it's automatically constructed from a |
5424 | | * `scan_arg_store`. |
5425 | | */ |
5426 | | template <typename Context> |
5427 | | class basic_scan_args { |
5428 | | public: |
5429 | 2.64M | constexpr basic_scan_args() = default; scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args() Line | Count | Source | 5429 | 821k | constexpr basic_scan_args() = default; |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args() Line | Count | Source | 5429 | 1.82M | constexpr basic_scan_args() = default; |
|
5430 | | |
5431 | | template <typename... Args> |
5432 | | SCN_IMPLICIT constexpr basic_scan_args( |
5433 | | detail::scan_arg_store<Context, Args...>& store) |
5434 | 17.8M | : basic_scan_args(store.desc, store.arg_pointers().data()) |
5435 | 17.8M | { |
5436 | 17.8M | } scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<signed char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>&) Line | Count | Source | 5434 | 630k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 630k | { | 5436 | 630k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>&) Line | Count | Source | 5434 | 609k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 609k | { | 5436 | 609k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>&) Line | Count | Source | 5434 | 816k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 816k | { | 5436 | 816k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>&) Line | Count | Source | 5434 | 709k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 709k | { | 5436 | 709k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>&) Line | Count | Source | 5434 | 810k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 810k | { | 5436 | 810k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>&) Line | Count | Source | 5434 | 695k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 695k | { | 5436 | 695k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<signed char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>&) Line | Count | Source | 5434 | 167k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 167k | { | 5436 | 167k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>&) Line | Count | Source | 5434 | 167k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 167k | { | 5436 | 167k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>&) Line | Count | Source | 5434 | 210k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 210k | { | 5436 | 210k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>&) Line | Count | Source | 5434 | 210k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 210k | { | 5436 | 210k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>&) Line | Count | Source | 5434 | 168k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 168k | { | 5436 | 168k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>&) Line | Count | Source | 5434 | 168k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 168k | { | 5436 | 168k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<float>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>&) Line | Count | Source | 5434 | 996k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 996k | { | 5436 | 996k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>&) Line | Count | Source | 5434 | 1.06M | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 1.06M | { | 5436 | 1.06M | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<long double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>&) Line | Count | Source | 5434 | 1.05M | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 1.05M | { | 5436 | 1.05M | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<float>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>&) Line | Count | Source | 5434 | 491k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 491k | { | 5436 | 491k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>&) Line | Count | Source | 5434 | 594k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 594k | { | 5436 | 594k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<long double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>&) Line | Count | Source | 5434 | 562k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 562k | { | 5436 | 562k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>&) Line | Count | Source | 5434 | 21.3k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 21.3k | { | 5436 | 21.3k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<bool>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>&) Line | Count | Source | 5434 | 21.3k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 21.3k | { | 5436 | 21.3k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<void*>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>&) Line | Count | Source | 5434 | 21.3k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 21.3k | { | 5436 | 21.3k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&) Line | Count | Source | 5434 | 531k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 531k | { | 5436 | 531k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&) Line | Count | Source | 5434 | 21.3k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 21.3k | { | 5436 | 21.3k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&) Line | Count | Source | 5434 | 253k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 253k | { | 5436 | 253k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<wchar_t>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>&) Line | Count | Source | 5434 | 42.6k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 42.6k | { | 5436 | 42.6k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<bool>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>&) Line | Count | Source | 5434 | 42.6k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 42.6k | { | 5436 | 42.6k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<void*>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>&) Line | Count | Source | 5434 | 42.6k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 42.6k | { | 5436 | 42.6k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&) Line | Count | Source | 5434 | 42.6k | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 42.6k | { | 5436 | 42.6k | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&) Line | Count | Source | 5434 | 4.42M | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 4.42M | { | 5436 | 4.42M | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&) Line | Count | Source | 5434 | 2.23M | : basic_scan_args(store.desc, store.arg_pointers().data()) | 5435 | 2.23M | { | 5436 | 2.23M | } |
|
5437 | | |
5438 | | /** |
5439 | | * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if |
5440 | | * there's no argument at index `id`. |
5441 | | */ |
5442 | | SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const |
5443 | 17.4M | { |
5444 | 17.4M | if (SCN_UNLIKELY(!is_packed())) { |
5445 | 0 | if (SCN_LIKELY(id < max_size())) { |
5446 | 0 | return m_args[id]; |
5447 | 0 | } |
5448 | 0 | return {}; |
5449 | 0 | } |
5450 | | |
5451 | 17.4M | if (SCN_UNLIKELY(id >= detail::max_packed_args)) { |
5452 | 298 | return {}; |
5453 | 298 | } |
5454 | | |
5455 | 17.4M | const auto t = type(id); |
5456 | 17.4M | if (SCN_UNLIKELY(t == detail::arg_type::none_type)) { |
5457 | 2.86k | return {}; |
5458 | 2.86k | } |
5459 | | |
5460 | 17.4M | basic_scan_arg<Context> arg; |
5461 | 17.4M | arg.m_type = t; |
5462 | 17.4M | if (is_only_builtin()) { |
5463 | 17.4M | arg.m_value.ref_value = m_builtin_values[id]; |
5464 | 17.4M | } |
5465 | 0 | else { |
5466 | 0 | arg.m_value = m_values[id]; |
5467 | 0 | } |
5468 | 17.4M | return arg; |
5469 | 17.4M | } scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::get(unsigned long) const Line | Count | Source | 5443 | 8.19M | { | 5444 | 8.19M | if (SCN_UNLIKELY(!is_packed())) { | 5445 | 0 | if (SCN_LIKELY(id < max_size())) { | 5446 | 0 | return m_args[id]; | 5447 | 0 | } | 5448 | 0 | return {}; | 5449 | 0 | } | 5450 | | | 5451 | 8.19M | if (SCN_UNLIKELY(id >= detail::max_packed_args)) { | 5452 | 230 | return {}; | 5453 | 230 | } | 5454 | | | 5455 | 8.19M | const auto t = type(id); | 5456 | 8.19M | if (SCN_UNLIKELY(t == detail::arg_type::none_type)) { | 5457 | 1.46k | return {}; | 5458 | 1.46k | } | 5459 | | | 5460 | 8.18M | basic_scan_arg<Context> arg; | 5461 | 8.18M | arg.m_type = t; | 5462 | 8.18M | if (is_only_builtin()) { | 5463 | 8.18M | arg.m_value.ref_value = m_builtin_values[id]; | 5464 | 8.18M | } | 5465 | 0 | else { | 5466 | 0 | arg.m_value = m_values[id]; | 5467 | 0 | } | 5468 | 8.18M | return arg; | 5469 | 8.19M | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::get(unsigned long) const Line | Count | Source | 5443 | 9.24M | { | 5444 | 9.24M | if (SCN_UNLIKELY(!is_packed())) { | 5445 | 0 | if (SCN_LIKELY(id < max_size())) { | 5446 | 0 | return m_args[id]; | 5447 | 0 | } | 5448 | 0 | return {}; | 5449 | 0 | } | 5450 | | | 5451 | 9.24M | if (SCN_UNLIKELY(id >= detail::max_packed_args)) { | 5452 | 68 | return {}; | 5453 | 68 | } | 5454 | | | 5455 | 9.24M | const auto t = type(id); | 5456 | 9.24M | if (SCN_UNLIKELY(t == detail::arg_type::none_type)) { | 5457 | 1.40k | return {}; | 5458 | 1.40k | } | 5459 | | | 5460 | 9.24M | basic_scan_arg<Context> arg; | 5461 | 9.24M | arg.m_type = t; | 5462 | 9.24M | if (is_only_builtin()) { | 5463 | 9.24M | arg.m_value.ref_value = m_builtin_values[id]; | 5464 | 9.24M | } | 5465 | 0 | else { | 5466 | 0 | arg.m_value = m_values[id]; | 5467 | 0 | } | 5468 | 9.24M | return arg; | 5469 | 9.24M | } |
|
5470 | | |
5471 | | /** |
5472 | | * \return Number of arguments in `*this`. |
5473 | | */ |
5474 | | SCN_NODISCARD constexpr std::size_t size() const |
5475 | 17.8M | { |
5476 | 17.8M | if (SCN_UNLIKELY(!is_packed())) { |
5477 | 0 | return max_size(); |
5478 | 0 | } |
5479 | | |
5480 | 17.8M | return static_cast<std::size_t>(m_desc & |
5481 | 17.8M | ((1 << detail::packed_arg_bits) - 1)); |
5482 | 17.8M | } scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::size() const Line | Count | Source | 5475 | 8.24M | { | 5476 | 8.24M | if (SCN_UNLIKELY(!is_packed())) { | 5477 | 0 | return max_size(); | 5478 | 0 | } | 5479 | | | 5480 | 8.24M | return static_cast<std::size_t>(m_desc & | 5481 | 8.24M | ((1 << detail::packed_arg_bits) - 1)); | 5482 | 8.24M | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::size() const Line | Count | Source | 5475 | 9.56M | { | 5476 | 9.56M | if (SCN_UNLIKELY(!is_packed())) { | 5477 | 0 | return max_size(); | 5478 | 0 | } | 5479 | | | 5480 | 9.56M | return static_cast<std::size_t>(m_desc & | 5481 | 9.56M | ((1 << detail::packed_arg_bits) - 1)); | 5482 | 9.56M | } |
|
5483 | | |
5484 | | private: |
5485 | | constexpr explicit basic_scan_args(size_t desc, void** data) |
5486 | 17.8M | : m_desc(desc), m_builtin_values(data) |
5487 | 17.8M | { |
5488 | 17.8M | } scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args(unsigned long, void**) Line | Count | Source | 5486 | 8.24M | : m_desc(desc), m_builtin_values(data) | 5487 | 8.24M | { | 5488 | 8.24M | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args(unsigned long, void**) Line | Count | Source | 5486 | 9.56M | : m_desc(desc), m_builtin_values(data) | 5487 | 9.56M | { | 5488 | 9.56M | } |
|
5489 | | constexpr explicit basic_scan_args(size_t desc, detail::arg_value* data) |
5490 | | : m_desc(desc), m_values(data) |
5491 | | { |
5492 | | } |
5493 | | constexpr explicit basic_scan_args(size_t desc, |
5494 | | basic_scan_arg<Context>* data) |
5495 | | : m_desc(desc), m_args(data) |
5496 | | { |
5497 | | } |
5498 | | |
5499 | | SCN_NODISCARD constexpr bool is_packed() const |
5500 | 35.2M | { |
5501 | 35.2M | return (m_desc & detail::is_unpacked_bit) == 0; |
5502 | 35.2M | } scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::is_packed() const Line | Count | Source | 5500 | 16.4M | { | 5501 | 16.4M | return (m_desc & detail::is_unpacked_bit) == 0; | 5502 | 16.4M | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::is_packed() const Line | Count | Source | 5500 | 18.8M | { | 5501 | 18.8M | return (m_desc & detail::is_unpacked_bit) == 0; | 5502 | 18.8M | } |
|
5503 | | SCN_NODISCARD constexpr bool is_only_builtin() const |
5504 | 17.4M | { |
5505 | 17.4M | return (m_desc & detail::has_custom_types_bit) == 0; |
5506 | 17.4M | } scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::is_only_builtin() const Line | Count | Source | 5504 | 8.18M | { | 5505 | 8.18M | return (m_desc & detail::has_custom_types_bit) == 0; | 5506 | 8.18M | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::is_only_builtin() const Line | Count | Source | 5504 | 9.24M | { | 5505 | 9.24M | return (m_desc & detail::has_custom_types_bit) == 0; | 5506 | 9.24M | } |
|
5507 | | |
5508 | | SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const |
5509 | 17.4M | { |
5510 | | // First (0th) index is size, types start after that |
5511 | 17.4M | const auto shift = (index + 1) * detail::packed_arg_bits; |
5512 | 17.4M | const std::size_t mask = (1 << detail::packed_arg_bits) - 1; |
5513 | 17.4M | return static_cast<detail::arg_type>((m_desc >> shift) & mask); |
5514 | 17.4M | } scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::type(unsigned long) const Line | Count | Source | 5509 | 8.19M | { | 5510 | | // First (0th) index is size, types start after that | 5511 | 8.19M | const auto shift = (index + 1) * detail::packed_arg_bits; | 5512 | 8.19M | const std::size_t mask = (1 << detail::packed_arg_bits) - 1; | 5513 | 8.19M | return static_cast<detail::arg_type>((m_desc >> shift) & mask); | 5514 | 8.19M | } |
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::type(unsigned long) const Line | Count | Source | 5509 | 9.24M | { | 5510 | | // First (0th) index is size, types start after that | 5511 | 9.24M | const auto shift = (index + 1) * detail::packed_arg_bits; | 5512 | 9.24M | const std::size_t mask = (1 << detail::packed_arg_bits) - 1; | 5513 | 9.24M | return static_cast<detail::arg_type>((m_desc >> shift) & mask); | 5514 | 9.24M | } |
|
5515 | | |
5516 | | SCN_NODISCARD constexpr std::size_t max_size() const |
5517 | 0 | { |
5518 | 0 | return SCN_LIKELY(is_packed()) ? detail::max_packed_args |
5519 | 0 | : (m_desc & ~detail::is_unpacked_bit & |
5520 | 0 | ~detail::has_custom_types_bit); |
5521 | 0 | } Unexecuted instantiation: scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::max_size() const Unexecuted instantiation: scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::max_size() const |
5522 | | |
5523 | | size_t m_desc{0}; |
5524 | | union { |
5525 | | void** m_builtin_values; |
5526 | | detail::arg_value* m_values; |
5527 | | basic_scan_arg<Context>* m_args{nullptr}; |
5528 | | }; |
5529 | | }; |
5530 | | |
5531 | | ///////////////////////////////////////////////////////////////// |
5532 | | // scan_parse_context |
5533 | | ///////////////////////////////////////////////////////////////// |
5534 | | |
5535 | | /** |
5536 | | * Format string parsing context, wrapping the format string being parsed, |
5537 | | * and a counter for argument indexing. |
5538 | | * |
5539 | | * \ingroup ctx |
5540 | | */ |
5541 | | template <typename CharT> |
5542 | | class basic_scan_parse_context { |
5543 | | public: |
5544 | | using char_type = CharT; |
5545 | | using iterator = typename std::basic_string_view<CharT>::const_pointer; |
5546 | | |
5547 | | /** |
5548 | | * Construct a `basic_scan_parse_context` over a format string `format`. |
5549 | | */ |
5550 | | explicit constexpr basic_scan_parse_context( |
5551 | | std::basic_string_view<CharT> format, |
5552 | | int next_arg_id = 0) |
5553 | 12.5M | : m_format{format}, m_next_arg_id{next_arg_id} |
5554 | 12.5M | { |
5555 | 12.5M | } scn::v3::basic_scan_parse_context<char>::basic_scan_parse_context(std::__1::basic_string_view<char, std::__1::char_traits<char> >, int) Line | Count | Source | 5553 | 6.60M | : m_format{format}, m_next_arg_id{next_arg_id} | 5554 | 6.60M | { | 5555 | 6.60M | } |
scn::v3::basic_scan_parse_context<wchar_t>::basic_scan_parse_context(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int) Line | Count | Source | 5553 | 5.92M | : m_format{format}, m_next_arg_id{next_arg_id} | 5554 | 5.92M | { | 5555 | 5.92M | } |
|
5556 | | |
5557 | | /// Returns an iterator pointing to the beginning of the format string |
5558 | | constexpr auto begin() const noexcept |
5559 | 23.7M | { |
5560 | 23.7M | return m_format.data(); |
5561 | 23.7M | } scn::v3::basic_scan_parse_context<char>::begin() const Line | Count | Source | 5559 | 12.9M | { | 5560 | 12.9M | return m_format.data(); | 5561 | 12.9M | } |
scn::v3::basic_scan_parse_context<wchar_t>::begin() const Line | Count | Source | 5559 | 10.8M | { | 5560 | 10.8M | return m_format.data(); | 5561 | 10.8M | } |
|
5562 | | /// Returns an iterator pointing to the end of the format string |
5563 | | constexpr auto end() const noexcept |
5564 | | { |
5565 | | return m_format.data() + m_format.size(); |
5566 | | } |
5567 | | |
5568 | | /// Advance the beginning of the format string to `it` |
5569 | | constexpr void advance_to(iterator it) |
5570 | 11.5M | { |
5571 | 11.5M | m_format.remove_prefix(static_cast<std::size_t>(it - begin())); |
5572 | 11.5M | } scn::v3::basic_scan_parse_context<char>::advance_to(char const*) Line | Count | Source | 5570 | 6.36M | { | 5571 | 6.36M | m_format.remove_prefix(static_cast<std::size_t>(it - begin())); | 5572 | 6.36M | } |
scn::v3::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*) Line | Count | Source | 5570 | 5.23M | { | 5571 | 5.23M | m_format.remove_prefix(static_cast<std::size_t>(it - begin())); | 5572 | 5.23M | } |
|
5573 | | |
5574 | | constexpr size_t next_arg_id() |
5575 | 12.1M | { |
5576 | 12.1M | if (SCN_UNLIKELY(m_next_arg_id < 0)) { |
5577 | 82 | on_error( |
5578 | 82 | "Cannot switch from manual to automatic argument indexing"); |
5579 | 82 | return 0; |
5580 | 82 | } |
5581 | | |
5582 | 12.1M | auto id = static_cast<size_t>(m_next_arg_id++); |
5583 | 12.1M | do_check_arg_id(id); |
5584 | 12.1M | return id; |
5585 | 12.1M | } scn::v3::basic_scan_parse_context<char>::next_arg_id() Line | Count | Source | 5575 | 6.54M | { | 5576 | 6.54M | if (SCN_UNLIKELY(m_next_arg_id < 0)) { | 5577 | 42 | on_error( | 5578 | 42 | "Cannot switch from manual to automatic argument indexing"); | 5579 | 42 | return 0; | 5580 | 42 | } | 5581 | | | 5582 | 6.54M | auto id = static_cast<size_t>(m_next_arg_id++); | 5583 | 6.54M | do_check_arg_id(id); | 5584 | 6.54M | return id; | 5585 | 6.54M | } |
scn::v3::basic_scan_parse_context<wchar_t>::next_arg_id() Line | Count | Source | 5575 | 5.59M | { | 5576 | 5.59M | if (SCN_UNLIKELY(m_next_arg_id < 0)) { | 5577 | 40 | on_error( | 5578 | 40 | "Cannot switch from manual to automatic argument indexing"); | 5579 | 40 | return 0; | 5580 | 40 | } | 5581 | | | 5582 | 5.59M | auto id = static_cast<size_t>(m_next_arg_id++); | 5583 | 5.59M | do_check_arg_id(id); | 5584 | 5.59M | return id; | 5585 | 5.59M | } |
|
5586 | | |
5587 | | constexpr void check_arg_id(std::size_t id) |
5588 | 8.69k | { |
5589 | 8.69k | if (SCN_UNLIKELY(m_next_arg_id > 0)) { |
5590 | 158 | on_error( |
5591 | 158 | "Cannot switch from manual to automatic argument indexing"); |
5592 | 158 | return; |
5593 | 158 | } |
5594 | 8.53k | m_next_arg_id = -1; |
5595 | 8.53k | do_check_arg_id(id); |
5596 | 8.53k | } scn::v3::basic_scan_parse_context<char>::check_arg_id(unsigned long) Line | Count | Source | 5588 | 8.09k | { | 5589 | 8.09k | if (SCN_UNLIKELY(m_next_arg_id > 0)) { | 5590 | 70 | on_error( | 5591 | 70 | "Cannot switch from manual to automatic argument indexing"); | 5592 | 70 | return; | 5593 | 70 | } | 5594 | 8.02k | m_next_arg_id = -1; | 5595 | 8.02k | do_check_arg_id(id); | 5596 | 8.02k | } |
scn::v3::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long) Line | Count | Source | 5588 | 592 | { | 5589 | 592 | if (SCN_UNLIKELY(m_next_arg_id > 0)) { | 5590 | 88 | on_error( | 5591 | 88 | "Cannot switch from manual to automatic argument indexing"); | 5592 | 88 | return; | 5593 | 88 | } | 5594 | 504 | m_next_arg_id = -1; | 5595 | 504 | do_check_arg_id(id); | 5596 | 504 | } |
|
5597 | | |
5598 | | constexpr scan_error on_error(const char* msg) const |
5599 | 240 | { |
5600 | 240 | return detail::handle_error( |
5601 | 240 | scan_error{scan_error::invalid_format_string, msg}); |
5602 | 240 | } scn::v3::basic_scan_parse_context<char>::on_error(char const*) const Line | Count | Source | 5599 | 112 | { | 5600 | 112 | return detail::handle_error( | 5601 | 112 | scan_error{scan_error::invalid_format_string, msg}); | 5602 | 112 | } |
scn::v3::basic_scan_parse_context<wchar_t>::on_error(char const*) const Line | Count | Source | 5599 | 128 | { | 5600 | 128 | return detail::handle_error( | 5601 | 128 | scan_error{scan_error::invalid_format_string, msg}); | 5602 | 128 | } |
|
5603 | | |
5604 | | protected: |
5605 | | constexpr void do_check_arg_id(size_t id); |
5606 | | |
5607 | | std::basic_string_view<CharT> m_format; |
5608 | | int m_next_arg_id{0}; |
5609 | | }; |
5610 | | |
5611 | | ///////////////////////////////////////////////////////////////// |
5612 | | // Result types |
5613 | | ///////////////////////////////////////////////////////////////// |
5614 | | |
5615 | | namespace detail { |
5616 | | template <typename... Args> |
5617 | | struct scan_result_value_storage { |
5618 | | public: |
5619 | | using tuple_type = std::tuple<Args...>; |
5620 | | |
5621 | | constexpr scan_result_value_storage() = default; |
5622 | | |
5623 | | constexpr scan_result_value_storage(tuple_type&& values) |
5624 | 17.2M | : m_values(SCN_MOVE(values)) |
5625 | 17.2M | { |
5626 | 17.2M | } scn::v3::detail::scan_result_value_storage<signed char>::scan_result_value_storage(std::__1::tuple<signed char>&&) Line | Count | Source | 5624 | 597k | : m_values(SCN_MOVE(values)) | 5625 | 597k | { | 5626 | 597k | } |
scn::v3::detail::scan_result_value_storage<unsigned char>::scan_result_value_storage(std::__1::tuple<unsigned char>&&) Line | Count | Source | 5624 | 569k | : m_values(SCN_MOVE(values)) | 5625 | 569k | { | 5626 | 569k | } |
scn::v3::detail::scan_result_value_storage<int>::scan_result_value_storage(std::__1::tuple<int>&&) Line | Count | Source | 5624 | 770k | : m_values(SCN_MOVE(values)) | 5625 | 770k | { | 5626 | 770k | } |
scn::v3::detail::scan_result_value_storage<unsigned int>::scan_result_value_storage(std::__1::tuple<unsigned int>&&) Line | Count | Source | 5624 | 654k | : m_values(SCN_MOVE(values)) | 5625 | 654k | { | 5626 | 654k | } |
scn::v3::detail::scan_result_value_storage<long long>::scan_result_value_storage(std::__1::tuple<long long>&&) Line | Count | Source | 5624 | 786k | : m_values(SCN_MOVE(values)) | 5625 | 786k | { | 5626 | 786k | } |
scn::v3::detail::scan_result_value_storage<unsigned long long>::scan_result_value_storage(std::__1::tuple<unsigned long long>&&) Line | Count | Source | 5624 | 662k | : m_values(SCN_MOVE(values)) | 5625 | 662k | { | 5626 | 662k | } |
scn::v3::detail::scan_result_value_storage<float>::scan_result_value_storage(std::__1::tuple<float>&&) Line | Count | Source | 5624 | 1.38M | : m_values(SCN_MOVE(values)) | 5625 | 1.38M | { | 5626 | 1.38M | } |
scn::v3::detail::scan_result_value_storage<double>::scan_result_value_storage(std::__1::tuple<double>&&) Line | Count | Source | 5624 | 1.49M | : m_values(SCN_MOVE(values)) | 5625 | 1.49M | { | 5626 | 1.49M | } |
scn::v3::detail::scan_result_value_storage<long double>::scan_result_value_storage(std::__1::tuple<long double>&&) Line | Count | Source | 5624 | 1.52M | : m_values(SCN_MOVE(values)) | 5625 | 1.52M | { | 5626 | 1.52M | } |
scn::v3::detail::scan_result_value_storage<char>::scan_result_value_storage(std::__1::tuple<char>&&) Line | Count | Source | 5624 | 216 | : m_values(SCN_MOVE(values)) | 5625 | 216 | { | 5626 | 216 | } |
Unexecuted instantiation: scn::v3::detail::scan_result_value_storage<bool>::scan_result_value_storage(std::__1::tuple<bool>&&) Unexecuted instantiation: scn::v3::detail::scan_result_value_storage<void*>::scan_result_value_storage(std::__1::tuple<void*>&&) scn::v3::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 5624 | 571k | : m_values(SCN_MOVE(values)) | 5625 | 571k | { | 5626 | 571k | } |
scn::v3::detail::scan_result_value_storage<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 5624 | 5.34M | : m_values(SCN_MOVE(values)) | 5625 | 5.34M | { | 5626 | 5.34M | } |
scn::v3::detail::scan_result_value_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&) Line | Count | Source | 5624 | 257k | : m_values(SCN_MOVE(values)) | 5625 | 257k | { | 5626 | 257k | } |
scn::v3::detail::scan_result_value_storage<wchar_t>::scan_result_value_storage(std::__1::tuple<wchar_t>&&) Line | Count | Source | 5624 | 96 | : m_values(SCN_MOVE(values)) | 5625 | 96 | { | 5626 | 96 | } |
scn::v3::detail::scan_result_value_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&) Line | Count | Source | 5624 | 2.67M | : m_values(SCN_MOVE(values)) | 5625 | 2.67M | { | 5626 | 2.67M | } |
|
5627 | | |
5628 | | /// Access the scanned values |
5629 | | tuple_type& values() & |
5630 | | { |
5631 | | return m_values; |
5632 | | } |
5633 | | /// Access the scanned values |
5634 | | const tuple_type& values() const& |
5635 | | { |
5636 | | return m_values; |
5637 | | } |
5638 | | /// Access the scanned values |
5639 | | tuple_type&& values() && |
5640 | | { |
5641 | | return SCN_MOVE(m_values); |
5642 | | } |
5643 | | /// Access the scanned values |
5644 | | const tuple_type&& values() const&& |
5645 | | { |
5646 | | return SCN_MOVE(m_values); |
5647 | | } |
5648 | | |
5649 | | /// Access the single scanned value |
5650 | | template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr> |
5651 | | decltype(auto) value() & |
5652 | | { |
5653 | | return std::get<0>(m_values); |
5654 | | } |
5655 | | /// Access the single scanned value |
5656 | | template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr> |
5657 | | decltype(auto) value() const& |
5658 | | { |
5659 | | return std::get<0>(m_values); |
5660 | | } |
5661 | | /// Access the single scanned value |
5662 | | template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr> |
5663 | | decltype(auto) value() && |
5664 | | { |
5665 | | return SCN_MOVE(std::get<0>(m_values)); |
5666 | | } |
5667 | | /// Access the single scanned value |
5668 | | template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr> |
5669 | | decltype(auto) value() const&& |
5670 | | { |
5671 | | return SCN_MOVE(std::get<0>(m_values)); |
5672 | | } |
5673 | | |
5674 | | private: |
5675 | | SCN_NO_UNIQUE_ADDRESS tuple_type m_values{}; |
5676 | | }; |
5677 | | |
5678 | | struct scan_result_convert_tag {}; |
5679 | | |
5680 | | template <typename Range> |
5681 | | struct scan_result_range_storage { |
5682 | | public: |
5683 | | using range_type = Range; |
5684 | | using iterator = ranges::iterator_t<Range>; |
5685 | | using sentinel = ranges::sentinel_t<Range>; |
5686 | | |
5687 | | constexpr scan_result_range_storage() = default; |
5688 | | |
5689 | 17.2M | constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r)) |
5690 | 17.2M | { |
5691 | 17.2M | } scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&) Line | Count | Source | 5689 | 3.97M | constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r)) | 5690 | 3.97M | { | 5691 | 3.97M | } |
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&) Line | Count | Source | 5689 | 4.03M | constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r)) | 5690 | 4.03M | { | 5691 | 4.03M | } |
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&) Line | Count | Source | 5689 | 5.97M | constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r)) | 5690 | 5.97M | { | 5691 | 5.97M | } |
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&) Line | Count | Source | 5689 | 3.30M | constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r)) | 5690 | 3.30M | { | 5691 | 3.30M | } |
|
5692 | | |
5693 | | template <typename R> |
5694 | | explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r) |
5695 | | : m_range(SCN_MOVE(r)) |
5696 | | { |
5697 | | } |
5698 | | |
5699 | | /// Access the ununsed source range |
5700 | | range_type range() const |
5701 | | { |
5702 | | return m_range; |
5703 | | } |
5704 | | |
5705 | | /// The beginning of the unused source range |
5706 | | auto begin() const |
5707 | 17.2M | { |
5708 | 17.2M | return ranges::begin(m_range); |
5709 | 17.2M | } scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const Line | Count | Source | 5707 | 3.97M | { | 5708 | 3.97M | return ranges::begin(m_range); | 5709 | 3.97M | } |
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::begin() const Line | Count | Source | 5707 | 4.03M | { | 5708 | 4.03M | return ranges::begin(m_range); | 5709 | 4.03M | } |
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const Line | Count | Source | 5707 | 5.97M | { | 5708 | 5.97M | return ranges::begin(m_range); | 5709 | 5.97M | } |
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::begin() const Line | Count | Source | 5707 | 3.30M | { | 5708 | 3.30M | return ranges::begin(m_range); | 5709 | 3.30M | } |
|
5710 | | /// The end of the unused source range |
5711 | | auto end() const |
5712 | 0 | { |
5713 | 0 | return ranges::end(m_range); |
5714 | 0 | } Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::end() const Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::end() const |
5715 | | |
5716 | | protected: |
5717 | | template <typename Other> |
5718 | | void assign_range(Other&& r) |
5719 | | { |
5720 | | m_range = r.m_range; |
5721 | | } |
5722 | | |
5723 | | private: |
5724 | | SCN_NO_UNIQUE_ADDRESS range_type m_range{}; |
5725 | | }; |
5726 | | |
5727 | | struct scan_result_file_storage { |
5728 | | public: |
5729 | | using range_type = std::FILE*; |
5730 | | |
5731 | | constexpr scan_result_file_storage() = default; |
5732 | | |
5733 | 0 | constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {} |
5734 | | |
5735 | | /// File used for scanning |
5736 | | std::FILE* file() const |
5737 | 0 | { |
5738 | 0 | return m_file; |
5739 | 0 | } |
5740 | | |
5741 | | protected: |
5742 | | void assign_range(const scan_result_file_storage& f) |
5743 | 0 | { |
5744 | 0 | m_file = f.m_file; |
5745 | 0 | } |
5746 | | |
5747 | | private: |
5748 | | std::FILE* m_file{nullptr}; |
5749 | | }; |
5750 | | |
5751 | | struct scan_result_dangling { |
5752 | | using range_type = ranges::dangling; |
5753 | | |
5754 | | constexpr scan_result_dangling() = default; |
5755 | | |
5756 | | template <typename... Args> |
5757 | | explicit constexpr scan_result_dangling(Args&&...) |
5758 | | { |
5759 | | } |
5760 | | |
5761 | | range_type range() const |
5762 | 0 | { |
5763 | 0 | return {}; |
5764 | 0 | } |
5765 | | |
5766 | | ranges::dangling begin() const |
5767 | 0 | { |
5768 | 0 | return {}; |
5769 | 0 | } |
5770 | | ranges::dangling end() const |
5771 | 0 | { |
5772 | 0 | return {}; |
5773 | 0 | } |
5774 | | |
5775 | | protected: |
5776 | | template <typename... Args> |
5777 | | void assign_range(Args&&...) |
5778 | | { |
5779 | | } |
5780 | | }; |
5781 | | |
5782 | | template <typename Range> |
5783 | | constexpr auto get_scan_result_base() |
5784 | 0 | { |
5785 | 0 | if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) { |
5786 | 0 | return type_identity<scan_result_dangling>{}; |
5787 | 0 | } |
5788 | 0 | else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) { |
5789 | 0 | return type_identity<scan_result_file_storage>{}; |
5790 | 0 | } |
5791 | 0 | else { |
5792 | 0 | return type_identity<scan_result_range_storage<Range>>{}; |
5793 | 0 | } |
5794 | 0 | } Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >() Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >() Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >() Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >() |
5795 | | |
5796 | | #if !SCN_DOXYGEN |
5797 | | template <typename Range> |
5798 | | using scan_result_base = typename decltype(get_scan_result_base<Range>())::type; |
5799 | | #else |
5800 | | template <typename Range> |
5801 | | using scan_result_base = scan_result_range_storage<Range>; |
5802 | | #endif |
5803 | | } // namespace detail |
5804 | | |
5805 | | /** |
5806 | | * \defgroup result Result types |
5807 | | * |
5808 | | * \brief Result and error types |
5809 | | * |
5810 | | * Instead of using exceptions, `scn::scan` and others return an object of |
5811 | | * type `scn::scan_result`, wrapped inside a `scn::scan_expected`. |
5812 | | */ |
5813 | | |
5814 | | /** |
5815 | | * Type returned by `scan`, contains the unused input as a subrange, and the |
5816 | | * scanned values in a tuple. |
5817 | | */ |
5818 | | template <typename Range, typename... Args> |
5819 | | class scan_result : public detail::scan_result_base<Range>, |
5820 | | public detail::scan_result_value_storage<Args...> { |
5821 | | using range_base = detail::scan_result_base<Range>; |
5822 | | using value_base = detail::scan_result_value_storage<Args...>; |
5823 | | |
5824 | | public: |
5825 | | using range_type = typename range_base::range_type; |
5826 | | using tuple_type = typename value_base::tuple_type; |
5827 | | |
5828 | | constexpr scan_result() = default; |
5829 | | |
5830 | | constexpr scan_result(const scan_result&) = default; |
5831 | 5.91M | constexpr scan_result(scan_result&&) = default; scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 5831 | 257k | constexpr scan_result(scan_result&&) = default; |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 5831 | 1.37k | constexpr scan_result(scan_result&&) = default; |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 5831 | 576 | constexpr scan_result(scan_result&&) = default; |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 5831 | 2.67M | constexpr scan_result(scan_result&&) = default; |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 5831 | 313k | constexpr scan_result(scan_result&&) = default; |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 5831 | 2.67M | constexpr scan_result(scan_result&&) = default; |
|
5832 | | constexpr scan_result& operator=(const scan_result&) = default; |
5833 | | constexpr scan_result& operator=(scan_result&&) = default; |
5834 | | |
5835 | 11.8M | ~scan_result() = default; scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result() Line | Count | Source | 5835 | 515k | ~scan_result() = default; |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result() Line | Count | Source | 5835 | 2.75k | ~scan_result() = default; |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result() Line | Count | Source | 5835 | 1.15k | ~scan_result() = default; |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result() Line | Count | Source | 5835 | 5.34M | ~scan_result() = default; |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result() Line | Count | Source | 5835 | 626k | ~scan_result() = default; |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result() Line | Count | Source | 5835 | 5.34M | ~scan_result() = default; |
|
5836 | | |
5837 | | scan_result(range_type r, tuple_type&& values) |
5838 | 17.2M | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) |
5839 | 17.2M | { |
5840 | 17.2M | } scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<signed char>&&) Line | Count | Source | 5838 | 297k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 297k | { | 5840 | 297k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned char>&&) Line | Count | Source | 5838 | 283k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 283k | { | 5840 | 283k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<int>&&) Line | Count | Source | 5838 | 384k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 384k | { | 5840 | 384k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned int>&&) Line | Count | Source | 5838 | 325k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 325k | { | 5840 | 325k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<long long>&&) Line | Count | Source | 5838 | 392k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 392k | { | 5840 | 392k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned long long>&&) Line | Count | Source | 5838 | 329k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 329k | { | 5840 | 329k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<signed char>&&) Line | Count | Source | 5838 | 298k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 298k | { | 5840 | 298k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned char>&&) Line | Count | Source | 5838 | 284k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 284k | { | 5840 | 284k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<int>&&) Line | Count | Source | 5838 | 384k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 384k | { | 5840 | 384k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned int>&&) Line | Count | Source | 5838 | 327k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 327k | { | 5840 | 327k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<long long>&&) Line | Count | Source | 5838 | 392k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 392k | { | 5840 | 392k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned long long>&&) Line | Count | Source | 5838 | 331k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 331k | { | 5840 | 331k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<signed char>&&) Line | Count | Source | 5838 | 634 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 634 | { | 5840 | 634 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned char>&&) Line | Count | Source | 5838 | 539 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 539 | { | 5840 | 539 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<int>&&) Line | Count | Source | 5838 | 750 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 750 | { | 5840 | 750 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned int>&&) Line | Count | Source | 5838 | 603 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 603 | { | 5840 | 603 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<long long>&&) Line | Count | Source | 5838 | 903 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 903 | { | 5840 | 903 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned long long>&&) Line | Count | Source | 5838 | 733 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 733 | { | 5840 | 733 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<signed char>&&) Line | Count | Source | 5838 | 634 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 634 | { | 5840 | 634 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned char>&&) Line | Count | Source | 5838 | 539 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 539 | { | 5840 | 539 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<int>&&) Line | Count | Source | 5838 | 750 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 750 | { | 5840 | 750 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned int>&&) Line | Count | Source | 5838 | 603 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 603 | { | 5840 | 603 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<long long>&&) Line | Count | Source | 5838 | 903 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 903 | { | 5840 | 903 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned long long>&&) Line | Count | Source | 5838 | 733 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 733 | { | 5840 | 733 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<float>&&) Line | Count | Source | 5838 | 467k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 467k | { | 5840 | 467k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<double>&&) Line | Count | Source | 5838 | 485k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 485k | { | 5840 | 485k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<long double>&&) Line | Count | Source | 5838 | 492k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 492k | { | 5840 | 492k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<float>&&) Line | Count | Source | 5838 | 547k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 547k | { | 5840 | 547k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<double>&&) Line | Count | Source | 5838 | 576k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 576k | { | 5840 | 576k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<long double>&&) Line | Count | Source | 5838 | 583k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 583k | { | 5840 | 583k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<float>&&) Line | Count | Source | 5838 | 183k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 183k | { | 5840 | 183k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<double>&&) Line | Count | Source | 5838 | 218k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 218k | { | 5840 | 218k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<long double>&&) Line | Count | Source | 5838 | 224k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 224k | { | 5840 | 224k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<float>&&) Line | Count | Source | 5838 | 183k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 183k | { | 5840 | 183k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<double>&&) Line | Count | Source | 5838 | 218k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 218k | { | 5840 | 218k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<long double>&&) Line | Count | Source | 5838 | 224k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 224k | { | 5840 | 224k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<char>&&) Line | Count | Source | 5838 | 216 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 216 | { | 5840 | 216 | } |
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<bool>&&) Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<void*>&&) scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 5838 | 257k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 257k | { | 5840 | 257k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 5838 | 1.37k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 1.37k | { | 5840 | 1.37k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&) Line | Count | Source | 5838 | 257k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 257k | { | 5840 | 257k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<wchar_t>&&) Line | Count | Source | 5838 | 96 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 96 | { | 5840 | 96 | } |
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<bool>&&) Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<void*>&&) scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 5838 | 576 | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 576 | { | 5840 | 576 | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 5838 | 2.67M | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 2.67M | { | 5840 | 2.67M | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&) Line | Count | Source | 5838 | 2.67M | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 2.67M | { | 5840 | 2.67M | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 5838 | 313k | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 313k | { | 5840 | 313k | } |
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 5838 | 2.67M | : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values)) | 5839 | 2.67M | { | 5840 | 2.67M | } |
|
5841 | | |
5842 | | template <typename OtherR, |
5843 | | std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* = |
5844 | | nullptr> |
5845 | | scan_result(OtherR&& r, tuple_type&& values) |
5846 | | : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)), |
5847 | | value_base(SCN_MOVE(values)) |
5848 | | { |
5849 | | } |
5850 | | |
5851 | | template <typename OtherR, |
5852 | | std::enable_if_t< |
5853 | | std::is_constructible_v<range_type, OtherR> && |
5854 | | std::is_convertible_v<const OtherR&, range_type>>* = nullptr> |
5855 | | SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o) |
5856 | | : range_base(detail::scan_result_convert_tag{}, o.range()), |
5857 | | value_base(o.values()) |
5858 | | { |
5859 | | } |
5860 | | template <typename OtherR, |
5861 | | std::enable_if_t< |
5862 | | std::is_constructible_v<range_type, OtherR> && |
5863 | | !std::is_convertible_v<const OtherR&, range_type>>* = nullptr> |
5864 | | explicit scan_result(const scan_result<OtherR, Args...>& o) |
5865 | | : range_base(detail::scan_result_convert_tag{}, o.range()), |
5866 | | value_base(o.values()) |
5867 | | { |
5868 | | } |
5869 | | |
5870 | | template <typename OtherR, |
5871 | | std::enable_if_t<std::is_constructible_v<range_type, OtherR> && |
5872 | | std::is_convertible_v<OtherR&&, range_type>>* = |
5873 | | nullptr> |
5874 | | SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o) |
5875 | | : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())), |
5876 | | value_base(SCN_MOVE(o.values())) |
5877 | | { |
5878 | | } |
5879 | | template <typename OtherR, |
5880 | | std::enable_if_t<std::is_constructible_v<range_type, OtherR> && |
5881 | | !std::is_convertible_v<OtherR&&, range_type>>* = |
5882 | | nullptr> |
5883 | | explicit scan_result(scan_result<OtherR, Args...>&& o) |
5884 | | : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())), |
5885 | | value_base(SCN_MOVE(o.values())) |
5886 | | { |
5887 | | } |
5888 | | |
5889 | | template <typename OtherR, |
5890 | | typename = |
5891 | | std::enable_if_t<std::is_constructible_v<range_type, OtherR>>> |
5892 | | scan_result& operator=(const scan_result<OtherR, Args...>& o) |
5893 | | { |
5894 | | this->assign_range(o); |
5895 | | this->values() = o.values(); |
5896 | | return *this; |
5897 | | } |
5898 | | |
5899 | | template <typename OtherR, |
5900 | | typename = |
5901 | | std::enable_if_t<std::is_constructible_v<range_type, OtherR>>> |
5902 | | scan_result& operator=(scan_result<OtherR, Args...>&& o) |
5903 | | { |
5904 | | this->assign_range(o); |
5905 | | this->values() = SCN_MOVE(o.values()); |
5906 | | return *this; |
5907 | | } |
5908 | | }; |
5909 | | |
5910 | | template <typename R, typename... Args> |
5911 | | scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>; |
5912 | | template <typename R, typename Ctx, typename... Args> |
5913 | | scan_result(R, detail::scan_arg_store<Ctx, Args...>&) |
5914 | | -> scan_result<R, Args...>; |
5915 | | |
5916 | | namespace detail { |
5917 | | template <typename SourceRange> |
5918 | | auto make_vscan_result_range_end(SourceRange& source) |
5919 | 17.2M | { |
5920 | 17.2M | return ranges::end(source); |
5921 | 17.2M | } auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&) Line | Count | Source | 5919 | 3.97M | { | 5920 | 3.97M | return ranges::end(source); | 5921 | 3.97M | } |
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&) Line | Count | Source | 5919 | 4.03M | { | 5920 | 4.03M | return ranges::end(source); | 5921 | 4.03M | } |
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&) Line | Count | Source | 5919 | 5.97M | { | 5920 | 5.97M | return ranges::end(source); | 5921 | 5.97M | } |
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&) Line | Count | Source | 5919 | 3.30M | { | 5920 | 3.30M | return ranges::end(source); | 5921 | 3.30M | } |
auto scn::v3::detail::make_vscan_result_range_end<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) Line | Count | Source | 5919 | 4.35k | { | 5920 | 4.35k | return ranges::end(source); | 5921 | 4.35k | } |
auto scn::v3::detail::make_vscan_result_range_end<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) Line | Count | Source | 5919 | 1.82k | { | 5920 | 1.82k | return ranges::end(source); | 5921 | 1.82k | } |
|
5922 | | template <typename CharT, size_t N> |
5923 | | auto make_vscan_result_range_end(CharT (&source)[N]) |
5924 | | -> ranges::sentinel_t<CharT (&)[N]> |
5925 | | { |
5926 | | return source + N - 1; |
5927 | | } |
5928 | | |
5929 | | template <typename SourceRange> |
5930 | | auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n) |
5931 | | -> borrowed_tail_subrange_t<SourceRange> |
5932 | 17.2M | { |
5933 | | if constexpr (ranges::random_access_iterator< |
5934 | 17.2M | ranges::iterator_t<SourceRange>>) { |
5935 | 17.2M | return {ranges::begin(source) + n, make_vscan_result_range_end(source)}; |
5936 | | } |
5937 | | else { |
5938 | | auto it = ranges::begin(source); |
5939 | | while (n > 0) { |
5940 | | --n; |
5941 | | ++it; |
5942 | | } |
5943 | | return {SCN_MOVE(it), make_vscan_result_range_end(source)}; |
5944 | | } |
5945 | 17.2M | } _ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l Line | Count | Source | 5932 | 3.97M | { | 5933 | | if constexpr (ranges::random_access_iterator< | 5934 | 3.97M | ranges::iterator_t<SourceRange>>) { | 5935 | 3.97M | return {ranges::begin(source) + n, make_vscan_result_range_end(source)}; | 5936 | | } | 5937 | | else { | 5938 | | auto it = ranges::begin(source); | 5939 | | while (n > 0) { | 5940 | | --n; | 5941 | | ++it; | 5942 | | } | 5943 | | return {SCN_MOVE(it), make_vscan_result_range_end(source)}; | 5944 | | } | 5945 | 3.97M | } |
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l Line | Count | Source | 5932 | 4.03M | { | 5933 | | if constexpr (ranges::random_access_iterator< | 5934 | 4.03M | ranges::iterator_t<SourceRange>>) { | 5935 | 4.03M | return {ranges::begin(source) + n, make_vscan_result_range_end(source)}; | 5936 | | } | 5937 | | else { | 5938 | | auto it = ranges::begin(source); | 5939 | | while (n > 0) { | 5940 | | --n; | 5941 | | ++it; | 5942 | | } | 5943 | | return {SCN_MOVE(it), make_vscan_result_range_end(source)}; | 5944 | | } | 5945 | 4.03M | } |
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l Line | Count | Source | 5932 | 5.97M | { | 5933 | | if constexpr (ranges::random_access_iterator< | 5934 | 5.97M | ranges::iterator_t<SourceRange>>) { | 5935 | 5.97M | return {ranges::begin(source) + n, make_vscan_result_range_end(source)}; | 5936 | | } | 5937 | | else { | 5938 | | auto it = ranges::begin(source); | 5939 | | while (n > 0) { | 5940 | | --n; | 5941 | | ++it; | 5942 | | } | 5943 | | return {SCN_MOVE(it), make_vscan_result_range_end(source)}; | 5944 | | } | 5945 | 5.97M | } |
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l Line | Count | Source | 5932 | 3.30M | { | 5933 | | if constexpr (ranges::random_access_iterator< | 5934 | 3.30M | ranges::iterator_t<SourceRange>>) { | 5935 | 3.30M | return {ranges::begin(source) + n, make_vscan_result_range_end(source)}; | 5936 | | } | 5937 | | else { | 5938 | | auto it = ranges::begin(source); | 5939 | | while (n > 0) { | 5940 | | --n; | 5941 | | ++it; | 5942 | | } | 5943 | | return {SCN_MOVE(it), make_vscan_result_range_end(source)}; | 5944 | | } | 5945 | 3.30M | } |
_ZN3scn2v36detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l Line | Count | Source | 5932 | 4.35k | { | 5933 | | if constexpr (ranges::random_access_iterator< | 5934 | 4.35k | ranges::iterator_t<SourceRange>>) { | 5935 | 4.35k | return {ranges::begin(source) + n, make_vscan_result_range_end(source)}; | 5936 | | } | 5937 | | else { | 5938 | | auto it = ranges::begin(source); | 5939 | | while (n > 0) { | 5940 | | --n; | 5941 | | ++it; | 5942 | | } | 5943 | | return {SCN_MOVE(it), make_vscan_result_range_end(source)}; | 5944 | | } | 5945 | 4.35k | } |
_ZN3scn2v36detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l Line | Count | Source | 5932 | 1.82k | { | 5933 | | if constexpr (ranges::random_access_iterator< | 5934 | 1.82k | ranges::iterator_t<SourceRange>>) { | 5935 | 1.82k | return {ranges::begin(source) + n, make_vscan_result_range_end(source)}; | 5936 | | } | 5937 | | else { | 5938 | | auto it = ranges::begin(source); | 5939 | | while (n > 0) { | 5940 | | --n; | 5941 | | ++it; | 5942 | | } | 5943 | | return {SCN_MOVE(it), make_vscan_result_range_end(source)}; | 5944 | | } | 5945 | 1.82k | } |
|
5946 | | inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t) |
5947 | 0 | { |
5948 | 0 | return source; |
5949 | 0 | } |
5950 | | } // namespace detail |
5951 | | |
5952 | | ///////////////////////////////////////////////////////////////// |
5953 | | // Format string parsing |
5954 | | ///////////////////////////////////////////////////////////////// |
5955 | | |
5956 | | namespace detail { |
5957 | | /// Parse context with extra data used only for compile-time checks |
5958 | | template <typename CharT> |
5959 | | class compile_parse_context : public basic_scan_parse_context<CharT> { |
5960 | | using base = basic_scan_parse_context<CharT>; |
5961 | | |
5962 | | public: |
5963 | | template <typename Source> |
5964 | | explicit constexpr compile_parse_context( |
5965 | | std::basic_string_view<CharT> format_str, |
5966 | | int num_args, |
5967 | | const arg_type* types, |
5968 | | type_identity<Source> source_tag, |
5969 | | int next_arg_id = 0) |
5970 | | : base(format_str, next_arg_id), |
5971 | | m_num_args(num_args), |
5972 | | m_types(types), |
5973 | | m_is_contiguous(ranges::range<Source> && |
5974 | | ranges::contiguous_range<Source>), |
5975 | | m_is_borrowed( |
5976 | | (ranges::range<Source> && ranges::borrowed_range<Source>) || |
5977 | | std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>) |
5978 | | { |
5979 | | } |
5980 | | |
5981 | | SCN_NODISCARD constexpr int get_num_args() const |
5982 | 0 | { |
5983 | 0 | return m_num_args; |
5984 | 0 | } Unexecuted instantiation: scn::v3::detail::compile_parse_context<char>::get_num_args() const Unexecuted instantiation: scn::v3::detail::compile_parse_context<wchar_t>::get_num_args() const |
5985 | | SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const |
5986 | | { |
5987 | | return m_types[id]; |
5988 | | } |
5989 | | |
5990 | | SCN_GCC_PUSH |
5991 | | SCN_GCC_IGNORE("-Wsign-conversion") |
5992 | | |
5993 | | constexpr std::size_t next_arg_id() |
5994 | | { |
5995 | | auto id = base::next_arg_id(); |
5996 | | if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) { |
5997 | | this->on_error("Argument not found"); |
5998 | | } |
5999 | | return id; |
6000 | | } |
6001 | | |
6002 | | constexpr void check_arg_id(std::size_t id) |
6003 | | { |
6004 | | base::check_arg_id(id); |
6005 | | if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) { |
6006 | | this->on_error("Argument not found"); |
6007 | | } |
6008 | | } |
6009 | | using base::check_arg_id; |
6010 | | |
6011 | | constexpr void check_arg_can_be_read(std::size_t id) |
6012 | | { |
6013 | | auto type = get_arg_type(id); |
6014 | | |
6015 | | if ((type == arg_type::narrow_string_view_type || |
6016 | | type == arg_type::wide_string_view_type) && |
6017 | | !m_is_contiguous) { |
6018 | | // clang-format off |
6019 | | this->on_error("Cannot read a string_view from a non-contiguous source"); |
6020 | | // clang-format on |
6021 | | return; |
6022 | | } |
6023 | | if ((type == arg_type::narrow_string_view_type || |
6024 | | type == arg_type::wide_string_view_type) && |
6025 | | !m_is_borrowed) { |
6026 | | // clang-format off |
6027 | | this->on_error("Cannot read a string_view from a non-borrowed source"); |
6028 | | // clang-format on |
6029 | | return; |
6030 | | } |
6031 | | |
6032 | | if ((type == arg_type::narrow_regex_matches_type || |
6033 | | type == arg_type::wide_regex_matches_type) && |
6034 | | !m_is_contiguous) { |
6035 | | // clang-format off |
6036 | | this->on_error("Cannot read a regex_matches from a non-contiguous source"); |
6037 | | // clang-format on |
6038 | | return; |
6039 | | } |
6040 | | } |
6041 | | |
6042 | | private: |
6043 | | int m_num_args; |
6044 | | const arg_type* m_types; |
6045 | | bool m_is_contiguous, m_is_borrowed; |
6046 | | |
6047 | | SCN_GCC_POP // -Wsign-conversion |
6048 | | }; |
6049 | | |
6050 | | constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept |
6051 | 0 | { |
6052 | 0 | #ifdef __cpp_lib_is_constant_evaluated |
6053 | 0 | SCN_UNUSED(default_value); |
6054 | 0 | return std::is_constant_evaluated(); |
6055 | 0 | #else |
6056 | 0 | return default_value; |
6057 | 0 | #endif |
6058 | 0 | } |
6059 | | } // namespace detail |
6060 | | |
6061 | | template <typename CharT> |
6062 | | constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id) |
6063 | 12.1M | { |
6064 | 12.1M | if (detail::is_constant_evaluated() && |
6065 | 12.1M | (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) { |
6066 | | // The cast below will cause an error on gcc pre-12 |
6067 | 0 | using parse_context_type = detail::compile_parse_context<CharT>; |
6068 | 0 | if (static_cast<int>(id) >= |
6069 | 0 | static_cast<parse_context_type*>(this)->get_num_args()) { |
6070 | 0 | SCN_UNLIKELY_ATTR |
6071 | 0 | on_error("Argument not found"); |
6072 | 0 | } |
6073 | 0 | } |
6074 | 12.1M | } scn::v3::basic_scan_parse_context<char>::do_check_arg_id(unsigned long) Line | Count | Source | 6063 | 6.54M | { | 6064 | 6.54M | if (detail::is_constant_evaluated() && | 6065 | 6.54M | (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) { | 6066 | | // The cast below will cause an error on gcc pre-12 | 6067 | 0 | using parse_context_type = detail::compile_parse_context<CharT>; | 6068 | 0 | if (static_cast<int>(id) >= | 6069 | 0 | static_cast<parse_context_type*>(this)->get_num_args()) { | 6070 | 0 | SCN_UNLIKELY_ATTR | 6071 | 0 | on_error("Argument not found"); | 6072 | 0 | } | 6073 | 0 | } | 6074 | 6.54M | } |
scn::v3::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long) Line | Count | Source | 6063 | 5.59M | { | 6064 | 5.59M | if (detail::is_constant_evaluated() && | 6065 | 5.59M | (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) { | 6066 | | // The cast below will cause an error on gcc pre-12 | 6067 | 0 | using parse_context_type = detail::compile_parse_context<CharT>; | 6068 | 0 | if (static_cast<int>(id) >= | 6069 | 0 | static_cast<parse_context_type*>(this)->get_num_args()) { | 6070 | 0 | SCN_UNLIKELY_ATTR | 6071 | 0 | on_error("Argument not found"); | 6072 | 0 | } | 6073 | 0 | } | 6074 | 5.59M | } |
|
6075 | | |
6076 | | namespace detail { |
6077 | | enum class align_type : unsigned char { |
6078 | | none = 0, |
6079 | | left = 1, // '<' |
6080 | | right = 2, // '>' |
6081 | | center = 3 // '^' |
6082 | | }; |
6083 | | |
6084 | | enum class presentation_type { |
6085 | | none, |
6086 | | int_binary, // 'b', 'B' |
6087 | | int_decimal, // 'd' |
6088 | | int_generic, // 'i' |
6089 | | int_unsigned_decimal, // 'u' |
6090 | | int_octal, // 'o' |
6091 | | int_hex, // 'x', 'X' |
6092 | | int_arbitrary_base, // 'rnn', 'Rnn' (R for radix) |
6093 | | float_hex, // 'a', 'A' |
6094 | | float_scientific, // 'e', 'E' |
6095 | | float_fixed, // 'f', 'F' |
6096 | | float_general, // 'g', 'G' |
6097 | | string, // 's' |
6098 | | string_set, // '[...]' |
6099 | | regex, // '/.../.' |
6100 | | regex_escaped, // '/..\/../.' |
6101 | | character, // 'c' |
6102 | | escaped_character, // '?' |
6103 | | pointer, // 'p' |
6104 | | }; |
6105 | | |
6106 | | enum class regex_flags { |
6107 | | none = 0, |
6108 | | multiline = 1, // /m |
6109 | | singleline = 2, // /s |
6110 | | nocase = 4, // /i |
6111 | | nocapture = 8, // /n |
6112 | | // TODO? |
6113 | | // would probably need to go hand-in-hand with locale, |
6114 | | // where it could even be the default/only option -> no flag? |
6115 | | // why else would you even use locale with a regex? |
6116 | | // collate = 16, |
6117 | | }; |
6118 | | |
6119 | | constexpr regex_flags operator&(regex_flags a, regex_flags b) |
6120 | 204k | { |
6121 | 204k | return static_cast<regex_flags>(static_cast<unsigned>(a) & |
6122 | 204k | static_cast<unsigned>(b)); |
6123 | 204k | } |
6124 | | constexpr regex_flags operator|(regex_flags a, regex_flags b) |
6125 | 26.3k | { |
6126 | 26.3k | return static_cast<regex_flags>(static_cast<unsigned>(a) | |
6127 | 26.3k | static_cast<unsigned>(b)); |
6128 | 26.3k | } |
6129 | | constexpr regex_flags operator^(regex_flags a, regex_flags b) |
6130 | 0 | { |
6131 | 0 | return static_cast<regex_flags>(static_cast<unsigned>(a) ^ |
6132 | 0 | static_cast<unsigned>(b)); |
6133 | 0 | } |
6134 | | |
6135 | | constexpr regex_flags& operator&=(regex_flags& a, regex_flags b) |
6136 | 0 | { |
6137 | 0 | return a = a & b; |
6138 | 0 | } |
6139 | | constexpr regex_flags& operator|=(regex_flags& a, regex_flags b) |
6140 | 26.3k | { |
6141 | 26.3k | return a = a | b; |
6142 | 26.3k | } |
6143 | | constexpr regex_flags& operator^=(regex_flags& a, regex_flags b) |
6144 | 0 | { |
6145 | 0 | return a = a ^ b; |
6146 | 0 | } |
6147 | | |
6148 | | class fill_type { |
6149 | | public: |
6150 | | constexpr void operator=(char c) |
6151 | 0 | { |
6152 | 0 | m_data[0] = c; |
6153 | 0 | m_size = 1; |
6154 | 0 | } |
6155 | | |
6156 | | template <typename CharT> |
6157 | | constexpr void operator=(std::basic_string_view<CharT> s) |
6158 | 10.6k | { |
6159 | 10.6k | SCN_EXPECT(!s.empty()); |
6160 | 10.6k | SCN_EXPECT(s.size() * sizeof(CharT) <= max_size); |
6161 | 10.6k | if constexpr (sizeof(CharT) == 1) { |
6162 | 21.4k | for (size_t i = 0; i < s.size(); ++i) { |
6163 | 11.8k | SCN_GCC_PUSH |
6164 | 11.8k | SCN_GCC_IGNORE("-Wstringop-overflow") // false positive |
6165 | 11.8k | m_data[i] = s[i]; |
6166 | 11.8k | SCN_GCC_POP |
6167 | 11.8k | } |
6168 | 9.62k | m_size = static_cast<unsigned char>(s.size()); |
6169 | | } |
6170 | | else if constexpr (sizeof(CharT) == 2) { |
6171 | | m_data[0] = static_cast<char>(static_cast<unsigned>(s.front())); |
6172 | | m_data[1] = |
6173 | | static_cast<char>(static_cast<unsigned>(s.front()) >> 8); |
6174 | | if (s.size() == 1) { |
6175 | | return; |
6176 | | } |
6177 | | m_data[2] = static_cast<char>(static_cast<unsigned>(s[1])); |
6178 | | m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8); |
6179 | | } |
6180 | 1.01k | else { |
6181 | 1.01k | const auto front = static_cast<unsigned>(s.front()); |
6182 | 1.01k | m_data[0] = static_cast<char>(front); |
6183 | 1.01k | m_data[1] = static_cast<char>(front >> 8); |
6184 | 1.01k | m_data[2] = static_cast<char>(front >> 16); |
6185 | 1.01k | m_data[3] = static_cast<char>(front >> 24); |
6186 | 1.01k | } |
6187 | 10.6k | } void scn::v3::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 6158 | 9.62k | { | 6159 | 9.62k | SCN_EXPECT(!s.empty()); | 6160 | 9.62k | SCN_EXPECT(s.size() * sizeof(CharT) <= max_size); | 6161 | 9.62k | if constexpr (sizeof(CharT) == 1) { | 6162 | 21.4k | for (size_t i = 0; i < s.size(); ++i) { | 6163 | 11.8k | SCN_GCC_PUSH | 6164 | 11.8k | SCN_GCC_IGNORE("-Wstringop-overflow") // false positive | 6165 | 11.8k | m_data[i] = s[i]; | 6166 | 11.8k | SCN_GCC_POP | 6167 | 11.8k | } | 6168 | 9.62k | m_size = static_cast<unsigned char>(s.size()); | 6169 | | } | 6170 | | else if constexpr (sizeof(CharT) == 2) { | 6171 | | m_data[0] = static_cast<char>(static_cast<unsigned>(s.front())); | 6172 | | m_data[1] = | 6173 | | static_cast<char>(static_cast<unsigned>(s.front()) >> 8); | 6174 | | if (s.size() == 1) { | 6175 | | return; | 6176 | | } | 6177 | | m_data[2] = static_cast<char>(static_cast<unsigned>(s[1])); | 6178 | | m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8); | 6179 | | } | 6180 | | else { | 6181 | | const auto front = static_cast<unsigned>(s.front()); | 6182 | | m_data[0] = static_cast<char>(front); | 6183 | | m_data[1] = static_cast<char>(front >> 8); | 6184 | | m_data[2] = static_cast<char>(front >> 16); | 6185 | | m_data[3] = static_cast<char>(front >> 24); | 6186 | | } | 6187 | 9.62k | } |
void scn::v3::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >) Line | Count | Source | 6158 | 1.01k | { | 6159 | 1.01k | SCN_EXPECT(!s.empty()); | 6160 | 1.01k | SCN_EXPECT(s.size() * sizeof(CharT) <= max_size); | 6161 | | if constexpr (sizeof(CharT) == 1) { | 6162 | | for (size_t i = 0; i < s.size(); ++i) { | 6163 | | SCN_GCC_PUSH | 6164 | | SCN_GCC_IGNORE("-Wstringop-overflow") // false positive | 6165 | | m_data[i] = s[i]; | 6166 | | SCN_GCC_POP | 6167 | | } | 6168 | | m_size = static_cast<unsigned char>(s.size()); | 6169 | | } | 6170 | | else if constexpr (sizeof(CharT) == 2) { | 6171 | | m_data[0] = static_cast<char>(static_cast<unsigned>(s.front())); | 6172 | | m_data[1] = | 6173 | | static_cast<char>(static_cast<unsigned>(s.front()) >> 8); | 6174 | | if (s.size() == 1) { | 6175 | | return; | 6176 | | } | 6177 | | m_data[2] = static_cast<char>(static_cast<unsigned>(s[1])); | 6178 | | m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8); | 6179 | | } | 6180 | 1.01k | else { | 6181 | 1.01k | const auto front = static_cast<unsigned>(s.front()); | 6182 | 1.01k | m_data[0] = static_cast<char>(front); | 6183 | 1.01k | m_data[1] = static_cast<char>(front >> 8); | 6184 | 1.01k | m_data[2] = static_cast<char>(front >> 16); | 6185 | 1.01k | m_data[3] = static_cast<char>(front >> 24); | 6186 | 1.01k | } | 6187 | 1.01k | } |
|
6188 | | |
6189 | | constexpr size_t size() const |
6190 | 7.28k | { |
6191 | 7.28k | return m_size; |
6192 | 7.28k | } |
6193 | | |
6194 | | template <typename CharT> |
6195 | | CharT get_code_unit() const |
6196 | 6.45k | { |
6197 | 6.45k | SCN_EXPECT(m_size <= sizeof(CharT)); |
6198 | 6.45k | CharT r{}; |
6199 | 6.45k | std::memcpy(&r, m_data, m_size); |
6200 | 6.45k | return r; |
6201 | 6.45k | } char scn::v3::detail::fill_type::get_code_unit<char>() const Line | Count | Source | 6196 | 5.52k | { | 6197 | 5.52k | SCN_EXPECT(m_size <= sizeof(CharT)); | 6198 | 5.52k | CharT r{}; | 6199 | 5.52k | std::memcpy(&r, m_data, m_size); | 6200 | 5.52k | return r; | 6201 | 5.52k | } |
wchar_t scn::v3::detail::fill_type::get_code_unit<wchar_t>() const Line | Count | Source | 6196 | 928 | { | 6197 | 928 | SCN_EXPECT(m_size <= sizeof(CharT)); | 6198 | 928 | CharT r{}; | 6199 | 928 | std::memcpy(&r, m_data, m_size); | 6200 | 928 | return r; | 6201 | 928 | } |
|
6202 | | |
6203 | | template <typename CharT> |
6204 | | std::basic_string_view<CharT> get_code_units() const |
6205 | 832 | { |
6206 | 832 | return {reinterpret_cast<const CharT*>(m_data), m_size}; |
6207 | 832 | } std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::fill_type::get_code_units<char>() const Line | Count | Source | 6205 | 832 | { | 6206 | 832 | return {reinterpret_cast<const CharT*>(m_data), m_size}; | 6207 | 832 | } |
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::fill_type::get_code_units<wchar_t>() const |
6208 | | |
6209 | | private: |
6210 | | static constexpr size_t max_size = 4; |
6211 | | char m_data[max_size] = {' '}; |
6212 | | unsigned char m_size{1}; |
6213 | | }; |
6214 | | |
6215 | | struct format_specs { |
6216 | | int width{0}, precision{0}; |
6217 | | fill_type fill{}; |
6218 | | presentation_type type{presentation_type::none}; |
6219 | | std::array<uint8_t, 128 / 8> charset_literals{0}; |
6220 | | bool charset_has_nonascii{false}, charset_is_inverted{false}; |
6221 | | const void* charset_string_data{nullptr}; |
6222 | | size_t charset_string_size{0}; |
6223 | | regex_flags regexp_flags{regex_flags::none}; |
6224 | | unsigned char arbitrary_base{0}; |
6225 | | align_type align{align_type::none}; |
6226 | | bool localized{false}; |
6227 | | |
6228 | | constexpr format_specs() = default; |
6229 | | |
6230 | | SCN_NODISCARD constexpr int get_base() const |
6231 | 3.99M | { |
6232 | 3.99M | SCN_GCC_COMPAT_PUSH |
6233 | 3.99M | SCN_GCC_COMPAT_IGNORE("-Wswitch-enum") |
6234 | 3.99M | switch (type) { |
6235 | 755k | case presentation_type::none: |
6236 | 755k | return 10; |
6237 | 1.04M | case presentation_type::int_generic: |
6238 | 1.04M | return 0; |
6239 | 0 | case presentation_type::int_arbitrary_base: |
6240 | 0 | return arbitrary_base; |
6241 | | |
6242 | 233k | case presentation_type::int_binary: |
6243 | 233k | return 2; |
6244 | 360k | case presentation_type::int_octal: |
6245 | 360k | return 8; |
6246 | 752k | case presentation_type::int_decimal: |
6247 | 752k | case presentation_type::int_unsigned_decimal: |
6248 | 752k | return 10; |
6249 | 848k | case presentation_type::int_hex: |
6250 | 848k | return 16; |
6251 | | |
6252 | 0 | default: |
6253 | 0 | SCN_EXPECT(false); |
6254 | 3.99M | SCN_UNREACHABLE; |
6255 | 3.99M | } |
6256 | 3.99M | SCN_GCC_COMPAT_POP |
6257 | 3.99M | } |
6258 | | |
6259 | | template <typename CharT> |
6260 | | std::basic_string_view<CharT> charset_string() const |
6261 | 51.2k | { |
6262 | 51.2k | return {reinterpret_cast<const CharT*>(charset_string_data), |
6263 | 51.2k | charset_string_size}; |
6264 | 51.2k | } std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::format_specs::charset_string<char>() const Line | Count | Source | 6261 | 37.7k | { | 6262 | 37.7k | return {reinterpret_cast<const CharT*>(charset_string_data), | 6263 | 37.7k | charset_string_size}; | 6264 | 37.7k | } |
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::format_specs::charset_string<wchar_t>() const Line | Count | Source | 6261 | 13.5k | { | 6262 | 13.5k | return {reinterpret_cast<const CharT*>(charset_string_data), | 6263 | 13.5k | charset_string_size}; | 6264 | 13.5k | } |
|
6265 | | }; |
6266 | | |
6267 | | struct specs_setter { |
6268 | | public: |
6269 | 12.1M | explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {} |
6270 | | |
6271 | | constexpr void on_align(align_type align) |
6272 | 18.8k | { |
6273 | 18.8k | m_specs.align = align; |
6274 | 18.8k | } |
6275 | | template <typename CharT> |
6276 | | constexpr void on_fill(std::basic_string_view<CharT> fill) |
6277 | 10.6k | { |
6278 | 10.6k | m_specs.fill = fill; |
6279 | 10.6k | } void scn::v3::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 6277 | 9.62k | { | 6278 | 9.62k | m_specs.fill = fill; | 6279 | 9.62k | } |
void scn::v3::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >) Line | Count | Source | 6277 | 1.01k | { | 6278 | 1.01k | m_specs.fill = fill; | 6279 | 1.01k | } |
|
6280 | | constexpr void on_localized() |
6281 | 1.75M | { |
6282 | 1.75M | if constexpr (!SCN_DISABLE_LOCALE) { |
6283 | 1.75M | m_specs.localized = true; |
6284 | | } |
6285 | | else { |
6286 | | on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on"); |
6287 | | } |
6288 | 1.75M | } |
6289 | | |
6290 | | constexpr void on_width(int width) |
6291 | 107k | { |
6292 | 107k | if (m_specs.precision != 0 && width > m_specs.precision) { |
6293 | | // clang-format off |
6294 | 0 | return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)"); |
6295 | | // clang-format on |
6296 | 0 | } |
6297 | | |
6298 | 107k | m_specs.width = width; |
6299 | 107k | } |
6300 | | constexpr void on_precision(int prec) |
6301 | 15.4k | { |
6302 | 15.4k | if (m_specs.width > prec) { |
6303 | | // clang-format off |
6304 | 68 | return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)"); |
6305 | | // clang-format on |
6306 | 68 | } |
6307 | | |
6308 | 15.4k | m_specs.precision = prec; |
6309 | 15.4k | } |
6310 | | |
6311 | | constexpr void on_type(presentation_type type) |
6312 | 10.0M | { |
6313 | 10.0M | m_specs.type = type; |
6314 | 10.0M | } |
6315 | | |
6316 | | constexpr void on_charset_single(char32_t cp) |
6317 | 2.76M | { |
6318 | 2.76M | const auto cp_value = static_cast<unsigned>(cp); |
6319 | 2.76M | if (SCN_LIKELY(cp_value <= 127)) { |
6320 | 2.35M | m_specs.charset_literals[cp_value / 8] |= |
6321 | 2.35M | static_cast<unsigned char>(1ul << (cp_value % 8)); |
6322 | 2.35M | } |
6323 | 414k | else { |
6324 | 414k | m_specs.charset_has_nonascii = true; |
6325 | 414k | } |
6326 | 2.76M | } |
6327 | | |
6328 | | constexpr void on_charset_range(char32_t begin, char32_t end) |
6329 | 109k | { |
6330 | 109k | const auto begin_value = static_cast<unsigned>(begin); |
6331 | 109k | const auto end_value = static_cast<unsigned>(end); |
6332 | 109k | SCN_EXPECT(begin_value < end_value); |
6333 | | |
6334 | 109k | if (SCN_LIKELY(end_value <= 127)) { |
6335 | | // No need to bit-twiddle with a mask, because with the |
6336 | | // SCN_ASSUME, -O3 will optimize this to a single operation |
6337 | 102k | SCN_ASSUME(begin_value < end_value); |
6338 | 3.09M | for (auto v = begin_value; v != end_value; ++v) { |
6339 | 2.99M | m_specs.charset_literals[v / 8] |= |
6340 | 2.99M | static_cast<unsigned char>(1ul << (v % 8)); |
6341 | 2.99M | } |
6342 | 102k | } |
6343 | 7.15k | else { |
6344 | 7.15k | m_specs.charset_has_nonascii = true; |
6345 | 7.15k | } |
6346 | 109k | } |
6347 | | |
6348 | | constexpr void on_charset_inverted() |
6349 | 3.38k | { |
6350 | 3.38k | m_specs.charset_is_inverted = true; |
6351 | 3.38k | } |
6352 | | |
6353 | | template <typename CharT> |
6354 | | constexpr void on_character_set_string(std::basic_string_view<CharT> fmt) |
6355 | 64.1k | { |
6356 | 64.1k | m_specs.charset_string_data = fmt.data(); |
6357 | 64.1k | m_specs.charset_string_size = fmt.size(); |
6358 | 64.1k | on_type(presentation_type::string_set); |
6359 | 64.1k | } void scn::v3::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 6355 | 34.4k | { | 6356 | 34.4k | m_specs.charset_string_data = fmt.data(); | 6357 | 34.4k | m_specs.charset_string_size = fmt.size(); | 6358 | 34.4k | on_type(presentation_type::string_set); | 6359 | 34.4k | } |
void scn::v3::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >) Line | Count | Source | 6355 | 29.6k | { | 6356 | 29.6k | m_specs.charset_string_data = fmt.data(); | 6357 | 29.6k | m_specs.charset_string_size = fmt.size(); | 6358 | 29.6k | on_type(presentation_type::string_set); | 6359 | 29.6k | } |
|
6360 | | |
6361 | | template <typename CharT> |
6362 | | constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern) |
6363 | 139k | { |
6364 | 139k | m_specs.charset_string_data = pattern.data(); |
6365 | 139k | m_specs.charset_string_size = pattern.size(); |
6366 | 139k | } void scn::v3::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 6363 | 100k | { | 6364 | 100k | m_specs.charset_string_data = pattern.data(); | 6365 | 100k | m_specs.charset_string_size = pattern.size(); | 6366 | 100k | } |
void scn::v3::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >) Line | Count | Source | 6363 | 39.2k | { | 6364 | 39.2k | m_specs.charset_string_data = pattern.data(); | 6365 | 39.2k | m_specs.charset_string_size = pattern.size(); | 6366 | 39.2k | } |
|
6367 | | constexpr void on_regex_flags(regex_flags flags) |
6368 | 138k | { |
6369 | 138k | m_specs.regexp_flags = flags; |
6370 | 138k | } |
6371 | | |
6372 | | // Intentionally not constexpr |
6373 | | void on_error(const char* msg) |
6374 | 392k | { |
6375 | 392k | SCN_UNLIKELY_ATTR |
6376 | 392k | m_error = scan_error{scan_error::invalid_format_string, msg}; |
6377 | 392k | } |
6378 | | void on_error(scan_error err) |
6379 | 0 | { |
6380 | 0 | SCN_LIKELY(err); |
6381 | 0 | m_error = err; |
6382 | 0 | } |
6383 | | |
6384 | | constexpr explicit operator bool() const |
6385 | 14.7M | { |
6386 | 14.7M | return static_cast<bool>(m_error); |
6387 | 14.7M | } |
6388 | | |
6389 | | constexpr scan_error get_error() const |
6390 | 0 | { |
6391 | 0 | return m_error; |
6392 | 0 | } |
6393 | | |
6394 | | protected: |
6395 | | format_specs& m_specs; |
6396 | | scan_error m_error; |
6397 | | }; |
6398 | | |
6399 | | template <typename CharT> |
6400 | | constexpr int parse_simple_int(const CharT*& begin, const CharT* end) |
6401 | 123k | { |
6402 | 123k | SCN_EXPECT(begin != end); |
6403 | 123k | SCN_EXPECT(*begin >= '0' && *begin <= '9'); |
6404 | | |
6405 | 123k | unsigned long long value = 0; |
6406 | 231k | do { |
6407 | 231k | value *= 10; |
6408 | 231k | value += static_cast<unsigned long long>(*begin - '0'); |
6409 | 231k | if (value > |
6410 | 231k | static_cast<unsigned long long>(std::numeric_limits<int>::max())) { |
6411 | 198 | return -1; |
6412 | 198 | } |
6413 | 231k | ++begin; |
6414 | 231k | } while (begin != end && *begin >= '0' && *begin <= '9'); |
6415 | 123k | return static_cast<int>(value); |
6416 | 123k | } int scn::v3::detail::parse_simple_int<char>(char const*&, char const*) Line | Count | Source | 6401 | 44.1k | { | 6402 | 44.1k | SCN_EXPECT(begin != end); | 6403 | 44.1k | SCN_EXPECT(*begin >= '0' && *begin <= '9'); | 6404 | | | 6405 | 44.1k | unsigned long long value = 0; | 6406 | 94.8k | do { | 6407 | 94.8k | value *= 10; | 6408 | 94.8k | value += static_cast<unsigned long long>(*begin - '0'); | 6409 | 94.8k | if (value > | 6410 | 94.8k | static_cast<unsigned long long>(std::numeric_limits<int>::max())) { | 6411 | 116 | return -1; | 6412 | 116 | } | 6413 | 94.7k | ++begin; | 6414 | 94.7k | } while (begin != end && *begin >= '0' && *begin <= '9'); | 6415 | 43.9k | return static_cast<int>(value); | 6416 | 44.1k | } |
int scn::v3::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*) Line | Count | Source | 6401 | 79.8k | { | 6402 | 79.8k | SCN_EXPECT(begin != end); | 6403 | 79.8k | SCN_EXPECT(*begin >= '0' && *begin <= '9'); | 6404 | | | 6405 | 79.8k | unsigned long long value = 0; | 6406 | 136k | do { | 6407 | 136k | value *= 10; | 6408 | 136k | value += static_cast<unsigned long long>(*begin - '0'); | 6409 | 136k | if (value > | 6410 | 136k | static_cast<unsigned long long>(std::numeric_limits<int>::max())) { | 6411 | 82 | return -1; | 6412 | 82 | } | 6413 | 136k | ++begin; | 6414 | 136k | } while (begin != end && *begin >= '0' && *begin <= '9'); | 6415 | 79.7k | return static_cast<int>(value); | 6416 | 79.8k | } |
|
6417 | | |
6418 | | template <typename CharT, typename IDHandler> |
6419 | | constexpr const CharT* do_parse_arg_id(const CharT* begin, |
6420 | | const CharT* end, |
6421 | | IDHandler&& handler) |
6422 | 258k | { |
6423 | 258k | SCN_EXPECT(begin != end); |
6424 | | |
6425 | 258k | CharT c = *begin; |
6426 | 258k | if (c < CharT{'0'} || c > CharT{'9'}) { |
6427 | 248k | handler.on_error("Invalid argument ID"); |
6428 | 248k | return begin; |
6429 | 248k | } |
6430 | | |
6431 | 9.35k | int idx = 0; |
6432 | 9.35k | if (c != CharT{'0'}) { |
6433 | 1.00k | idx = parse_simple_int(begin, end); |
6434 | 1.00k | } |
6435 | 8.34k | else { |
6436 | 8.34k | ++begin; |
6437 | 8.34k | } |
6438 | | |
6439 | 9.35k | if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) { |
6440 | 660 | handler.on_error("Invalid argument ID"); |
6441 | 660 | return begin; |
6442 | 660 | } |
6443 | 8.69k | handler(idx); |
6444 | | |
6445 | 8.69k | return begin; |
6446 | 9.35k | } impl.cpp:char const* scn::v3::detail::do_parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&&) Line | Count | Source | 6422 | 64.5k | { | 6423 | 64.5k | SCN_EXPECT(begin != end); | 6424 | | | 6425 | 64.5k | CharT c = *begin; | 6426 | 64.5k | if (c < CharT{'0'} || c > CharT{'9'}) { | 6427 | 55.9k | handler.on_error("Invalid argument ID"); | 6428 | 55.9k | return begin; | 6429 | 55.9k | } | 6430 | | | 6431 | 8.56k | int idx = 0; | 6432 | 8.56k | if (c != CharT{'0'}) { | 6433 | 552 | idx = parse_simple_int(begin, end); | 6434 | 552 | } | 6435 | 8.01k | else { | 6436 | 8.01k | ++begin; | 6437 | 8.01k | } | 6438 | | | 6439 | 8.56k | if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) { | 6440 | 464 | handler.on_error("Invalid argument ID"); | 6441 | 464 | return begin; | 6442 | 464 | } | 6443 | 8.09k | handler(idx); | 6444 | | | 6445 | 8.09k | return begin; | 6446 | 8.56k | } |
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::do_parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&&) impl.cpp:wchar_t const* scn::v3::detail::do_parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&&) Line | Count | Source | 6422 | 193k | { | 6423 | 193k | SCN_EXPECT(begin != end); | 6424 | | | 6425 | 193k | CharT c = *begin; | 6426 | 193k | if (c < CharT{'0'} || c > CharT{'9'}) { | 6427 | 192k | handler.on_error("Invalid argument ID"); | 6428 | 192k | return begin; | 6429 | 192k | } | 6430 | | | 6431 | 788 | int idx = 0; | 6432 | 788 | if (c != CharT{'0'}) { | 6433 | 450 | idx = parse_simple_int(begin, end); | 6434 | 450 | } | 6435 | 338 | else { | 6436 | 338 | ++begin; | 6437 | 338 | } | 6438 | | | 6439 | 788 | if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) { | 6440 | 196 | handler.on_error("Invalid argument ID"); | 6441 | 196 | return begin; | 6442 | 196 | } | 6443 | 592 | handler(idx); | 6444 | | | 6445 | 592 | return begin; | 6446 | 788 | } |
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::do_parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&&) |
6447 | | |
6448 | | template <typename CharT, typename IDHandler> |
6449 | | constexpr const CharT* parse_arg_id(const CharT* begin, |
6450 | | const CharT* end, |
6451 | | IDHandler&& handler) |
6452 | 12.3M | { |
6453 | 12.3M | SCN_EXPECT(begin != end); |
6454 | 12.3M | if (*begin != '}' && *begin != ':') { |
6455 | 258k | return do_parse_arg_id(begin, end, SCN_FWD(handler)); |
6456 | 258k | } |
6457 | | |
6458 | 12.1M | handler(); |
6459 | 12.1M | return begin; |
6460 | 12.3M | } impl.cpp:char const* scn::v3::detail::parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&&) Line | Count | Source | 6452 | 3.33M | { | 6453 | 3.33M | SCN_EXPECT(begin != end); | 6454 | 3.33M | if (*begin != '}' && *begin != ':') { | 6455 | 64.5k | return do_parse_arg_id(begin, end, SCN_FWD(handler)); | 6456 | 64.5k | } | 6457 | | | 6458 | 3.26M | handler(); | 6459 | 3.26M | return begin; | 6460 | 3.33M | } |
impl.cpp:char const* scn::v3::detail::parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&&) Line | Count | Source | 6452 | 3.26M | { | 6453 | 3.26M | SCN_EXPECT(begin != end); | 6454 | 3.26M | if (*begin != '}' && *begin != ':') { | 6455 | 0 | return do_parse_arg_id(begin, end, SCN_FWD(handler)); | 6456 | 0 | } | 6457 | | | 6458 | 3.26M | handler(); | 6459 | 3.26M | return begin; | 6460 | 3.26M | } |
impl.cpp:wchar_t const* scn::v3::detail::parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&&) Line | Count | Source | 6452 | 3.56M | { | 6453 | 3.56M | SCN_EXPECT(begin != end); | 6454 | 3.56M | if (*begin != '}' && *begin != ':') { | 6455 | 193k | return do_parse_arg_id(begin, end, SCN_FWD(handler)); | 6456 | 193k | } | 6457 | | | 6458 | 3.37M | handler(); | 6459 | 3.37M | return begin; | 6460 | 3.56M | } |
impl.cpp:wchar_t const* scn::v3::detail::parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&&) Line | Count | Source | 6452 | 2.21M | { | 6453 | 2.21M | SCN_EXPECT(begin != end); | 6454 | 2.21M | if (*begin != '}' && *begin != ':') { | 6455 | 0 | return do_parse_arg_id(begin, end, SCN_FWD(handler)); | 6456 | 0 | } | 6457 | | | 6458 | 2.21M | handler(); | 6459 | 2.21M | return begin; | 6460 | 2.21M | } |
|
6461 | | |
6462 | | template <typename CharT> |
6463 | | constexpr presentation_type parse_presentation_type(CharT type) |
6464 | 10.1M | { |
6465 | 10.1M | switch (type) { |
6466 | 236k | case 'b': |
6467 | 386k | case 'B': |
6468 | 386k | return presentation_type::int_binary; |
6469 | 761k | case 'd': |
6470 | 761k | return presentation_type::int_decimal; |
6471 | 1.05M | case 'i': |
6472 | 1.05M | return presentation_type::int_generic; |
6473 | 194 | case 'u': |
6474 | 194 | return presentation_type::int_unsigned_decimal; |
6475 | 365k | case 'o': |
6476 | 365k | return presentation_type::int_octal; |
6477 | 857k | case 'x': |
6478 | 857k | case 'X': |
6479 | 857k | return presentation_type::int_hex; |
6480 | 68 | case 'r': |
6481 | 142 | case 'R': |
6482 | 142 | return presentation_type::int_arbitrary_base; |
6483 | 1.09M | case 'a': |
6484 | 1.09M | case 'A': |
6485 | 1.09M | return presentation_type::float_hex; |
6486 | 140k | case 'e': |
6487 | 140k | case 'E': |
6488 | 140k | return presentation_type::float_scientific; |
6489 | 616k | case 'f': |
6490 | 616k | case 'F': |
6491 | 616k | return presentation_type::float_fixed; |
6492 | 883k | case 'g': |
6493 | 883k | case 'G': |
6494 | 883k | return presentation_type::float_general; |
6495 | 3.57M | case 's': |
6496 | 3.57M | return presentation_type::string; |
6497 | 40.4k | case 'c': |
6498 | 40.4k | return presentation_type::character; |
6499 | 68 | case '?': |
6500 | 68 | return presentation_type::escaped_character; |
6501 | 148 | case 'p': |
6502 | 148 | return presentation_type::pointer; |
6503 | 0 | case '[': |
6504 | 0 | case '/': |
6505 | | // Should be handled by parse_presentation_set and |
6506 | | // parse_presentation_regex |
6507 | 0 | SCN_EXPECT(false); |
6508 | 0 | SCN_UNREACHABLE; |
6509 | 341k | default: |
6510 | 341k | return presentation_type::none; |
6511 | 10.1M | } |
6512 | 10.1M | } scn::v3::detail::presentation_type scn::v3::detail::parse_presentation_type<char>(char) Line | Count | Source | 6464 | 5.04M | { | 6465 | 5.04M | switch (type) { | 6466 | 135k | case 'b': | 6467 | 185k | case 'B': | 6468 | 185k | return presentation_type::int_binary; | 6469 | 659k | case 'd': | 6470 | 659k | return presentation_type::int_decimal; | 6471 | 948k | case 'i': | 6472 | 948k | return presentation_type::int_generic; | 6473 | 70 | case 'u': | 6474 | 70 | return presentation_type::int_unsigned_decimal; | 6475 | 264k | case 'o': | 6476 | 264k | return presentation_type::int_octal; | 6477 | 755k | case 'x': | 6478 | 755k | case 'X': | 6479 | 755k | return presentation_type::int_hex; | 6480 | 34 | case 'r': | 6481 | 68 | case 'R': | 6482 | 68 | return presentation_type::int_arbitrary_base; | 6483 | 743k | case 'a': | 6484 | 743k | case 'A': | 6485 | 743k | return presentation_type::float_hex; | 6486 | 59.4k | case 'e': | 6487 | 59.5k | case 'E': | 6488 | 59.5k | return presentation_type::float_scientific; | 6489 | 368k | case 'f': | 6490 | 368k | case 'F': | 6491 | 368k | return presentation_type::float_fixed; | 6492 | 586k | case 'g': | 6493 | 586k | case 'G': | 6494 | 586k | return presentation_type::float_general; | 6495 | 343k | case 's': | 6496 | 343k | return presentation_type::string; | 6497 | 13.6k | case 'c': | 6498 | 13.6k | return presentation_type::character; | 6499 | 34 | case '?': | 6500 | 34 | return presentation_type::escaped_character; | 6501 | 78 | case 'p': | 6502 | 78 | return presentation_type::pointer; | 6503 | 0 | case '[': | 6504 | 0 | case '/': | 6505 | | // Should be handled by parse_presentation_set and | 6506 | | // parse_presentation_regex | 6507 | 0 | SCN_EXPECT(false); | 6508 | 0 | SCN_UNREACHABLE; | 6509 | 114k | default: | 6510 | 114k | return presentation_type::none; | 6511 | 5.04M | } | 6512 | 5.04M | } |
scn::v3::detail::presentation_type scn::v3::detail::parse_presentation_type<wchar_t>(wchar_t) Line | Count | Source | 6464 | 5.06M | { | 6465 | 5.06M | switch (type) { | 6466 | 100k | case 'b': | 6467 | 200k | case 'B': | 6468 | 200k | return presentation_type::int_binary; | 6469 | 101k | case 'd': | 6470 | 101k | return presentation_type::int_decimal; | 6471 | 101k | case 'i': | 6472 | 101k | return presentation_type::int_generic; | 6473 | 124 | case 'u': | 6474 | 124 | return presentation_type::int_unsigned_decimal; | 6475 | 101k | case 'o': | 6476 | 101k | return presentation_type::int_octal; | 6477 | 101k | case 'x': | 6478 | 101k | case 'X': | 6479 | 101k | return presentation_type::int_hex; | 6480 | 34 | case 'r': | 6481 | 74 | case 'R': | 6482 | 74 | return presentation_type::int_arbitrary_base; | 6483 | 348k | case 'a': | 6484 | 348k | case 'A': | 6485 | 348k | return presentation_type::float_hex; | 6486 | 80.7k | case 'e': | 6487 | 80.7k | case 'E': | 6488 | 80.7k | return presentation_type::float_scientific; | 6489 | 247k | case 'f': | 6490 | 247k | case 'F': | 6491 | 247k | return presentation_type::float_fixed; | 6492 | 297k | case 'g': | 6493 | 297k | case 'G': | 6494 | 297k | return presentation_type::float_general; | 6495 | 3.23M | case 's': | 6496 | 3.23M | return presentation_type::string; | 6497 | 26.8k | case 'c': | 6498 | 26.8k | return presentation_type::character; | 6499 | 34 | case '?': | 6500 | 34 | return presentation_type::escaped_character; | 6501 | 70 | case 'p': | 6502 | 70 | return presentation_type::pointer; | 6503 | 0 | case '[': | 6504 | 0 | case '/': | 6505 | | // Should be handled by parse_presentation_set and | 6506 | | // parse_presentation_regex | 6507 | 0 | SCN_EXPECT(false); | 6508 | 0 | SCN_UNREACHABLE; | 6509 | 227k | default: | 6510 | 227k | return presentation_type::none; | 6511 | 5.06M | } | 6512 | 5.06M | } |
|
6513 | | |
6514 | | template <typename CharT> |
6515 | | constexpr bool is_ascii_letter(CharT ch) |
6516 | 11.5M | { |
6517 | 11.5M | return (ch >= CharT{'a'} && ch <= CharT{'z'}) || |
6518 | 11.5M | (ch >= CharT{'A'} && ch <= CharT{'Z'}); |
6519 | 11.5M | } bool scn::v3::detail::is_ascii_letter<char>(char) Line | Count | Source | 6516 | 6.27M | { | 6517 | 6.27M | return (ch >= CharT{'a'} && ch <= CharT{'z'}) || | 6518 | 6.27M | (ch >= CharT{'A'} && ch <= CharT{'Z'}); | 6519 | 6.27M | } |
bool scn::v3::detail::is_ascii_letter<wchar_t>(wchar_t) Line | Count | Source | 6516 | 5.25M | { | 6517 | 5.25M | return (ch >= CharT{'a'} && ch <= CharT{'z'}) || | 6518 | 5.25M | (ch >= CharT{'A'} && ch <= CharT{'Z'}); | 6519 | 5.25M | } |
|
6520 | | |
6521 | | template <typename CharT> |
6522 | | constexpr int code_point_length(const CharT* begin, const CharT* end) |
6523 | 2.55M | { |
6524 | 2.55M | SCN_EXPECT(begin != end); |
6525 | 2.55M | if constexpr (sizeof(CharT) != 1) { |
6526 | 874k | return 1; |
6527 | | } |
6528 | 1.67M | else { |
6529 | 1.67M | const auto lengths = |
6530 | 1.67M | "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3" |
6531 | 1.67M | "\3\4"; |
6532 | 1.67M | const int len = lengths[static_cast<unsigned char>(*begin) >> 3]; |
6533 | 1.67M | return len; |
6534 | 1.67M | } |
6535 | 2.55M | } int scn::v3::detail::code_point_length<char>(char const*, char const*) Line | Count | Source | 6523 | 1.67M | { | 6524 | 1.67M | SCN_EXPECT(begin != end); | 6525 | | if constexpr (sizeof(CharT) != 1) { | 6526 | | return 1; | 6527 | | } | 6528 | 1.67M | else { | 6529 | 1.67M | const auto lengths = | 6530 | 1.67M | "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3" | 6531 | 1.67M | "\3\4"; | 6532 | 1.67M | const int len = lengths[static_cast<unsigned char>(*begin) >> 3]; | 6533 | 1.67M | return len; | 6534 | 1.67M | } | 6535 | 1.67M | } |
int scn::v3::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*) Line | Count | Source | 6523 | 874k | { | 6524 | 874k | SCN_EXPECT(begin != end); | 6525 | 874k | if constexpr (sizeof(CharT) != 1) { | 6526 | 874k | return 1; | 6527 | | } | 6528 | | else { | 6529 | | const auto lengths = | 6530 | | "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3" | 6531 | | "\3\4"; | 6532 | | const int len = lengths[static_cast<unsigned char>(*begin) >> 3]; | 6533 | | return len; | 6534 | | } | 6535 | 874k | } |
|
6536 | | |
6537 | | template <typename CharT, typename Handler> |
6538 | | constexpr const CharT* parse_align(const CharT* begin, |
6539 | | const CharT* end, |
6540 | | Handler&& handler) |
6541 | 2.55M | { |
6542 | 2.55M | SCN_EXPECT(begin != end); |
6543 | | |
6544 | 5.10M | auto check_align = [](wchar_t ch) { |
6545 | 5.10M | switch (ch) { |
6546 | 2.63k | case L'<': |
6547 | 2.63k | return align_type::left; |
6548 | 1.67k | case L'>': |
6549 | 1.67k | return align_type::right; |
6550 | 16.1k | case L'^': |
6551 | 16.1k | return align_type::center; |
6552 | 5.08M | default: |
6553 | 5.08M | return align_type::none; |
6554 | 5.10M | } |
6555 | 5.10M | }; impl.cpp:scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) constLine | Count | Source | 6544 | 1.75M | auto check_align = [](wchar_t ch) { | 6545 | 1.75M | switch (ch) { | 6546 | 1.50k | case L'<': | 6547 | 1.50k | return align_type::left; | 6548 | 1.44k | case L'>': | 6549 | 1.44k | return align_type::right; | 6550 | 14.8k | case L'^': | 6551 | 14.8k | return align_type::center; | 6552 | 1.73M | default: | 6553 | 1.73M | return align_type::none; | 6554 | 1.75M | } | 6555 | 1.75M | }; |
impl.cpp:scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) constLine | Count | Source | 6544 | 1.60M | auto check_align = [](wchar_t ch) { | 6545 | 1.60M | switch (ch) { | 6546 | 0 | case L'<': | 6547 | 0 | return align_type::left; | 6548 | 0 | case L'>': | 6549 | 0 | return align_type::right; | 6550 | 0 | case L'^': | 6551 | 0 | return align_type::center; | 6552 | 1.60M | default: | 6553 | 1.60M | return align_type::none; | 6554 | 1.60M | } | 6555 | 1.60M | }; |
impl.cpp:scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) constLine | Count | Source | 6544 | 960k | auto check_align = [](wchar_t ch) { | 6545 | 960k | switch (ch) { | 6546 | 1.13k | case L'<': | 6547 | 1.13k | return align_type::left; | 6548 | 230 | case L'>': | 6549 | 230 | return align_type::right; | 6550 | 1.32k | case L'^': | 6551 | 1.32k | return align_type::center; | 6552 | 957k | default: | 6553 | 957k | return align_type::none; | 6554 | 960k | } | 6555 | 960k | }; |
impl.cpp:scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) constLine | Count | Source | 6544 | 788k | auto check_align = [](wchar_t ch) { | 6545 | 788k | switch (ch) { | 6546 | 0 | case L'<': | 6547 | 0 | return align_type::left; | 6548 | 0 | case L'>': | 6549 | 0 | return align_type::right; | 6550 | 0 | case L'^': | 6551 | 0 | return align_type::center; | 6552 | 788k | default: | 6553 | 788k | return align_type::none; | 6554 | 788k | } | 6555 | 788k | }; |
|
6556 | | |
6557 | 2.55M | auto potential_fill_len = code_point_length(begin, end); |
6558 | 2.55M | if (SCN_UNLIKELY(potential_fill_len == 0 || |
6559 | 2.55M | std::distance(begin, end) < potential_fill_len)) { |
6560 | 42 | handler.on_error("Invalid encoding in fill character"); |
6561 | 42 | return begin; |
6562 | 42 | } |
6563 | | |
6564 | 2.55M | auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin)); |
6565 | | |
6566 | 2.55M | auto potential_fill = std::basic_string_view<CharT>{ |
6567 | 2.55M | begin, static_cast<size_t>(potential_fill_len)}; |
6568 | 2.55M | const auto begin_before_fill = begin; |
6569 | 2.55M | begin += potential_fill_len; |
6570 | | |
6571 | 2.55M | if (begin == end) { |
6572 | 2.03k | return begin_before_fill; |
6573 | 2.03k | } |
6574 | | |
6575 | 2.55M | auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin)); |
6576 | 2.55M | const auto begin_after_fill = begin; |
6577 | 2.55M | ++begin; |
6578 | | |
6579 | 2.55M | if (potential_fill_len == 1) { |
6580 | 2.54M | if (SCN_UNLIKELY(potential_fill[0] == '{')) { |
6581 | 102 | handler.on_error("Invalid fill character '{' in format string"); |
6582 | 102 | return begin; |
6583 | 102 | } |
6584 | 2.54M | if (potential_fill[0] == '[') { |
6585 | 60.7k | return begin_before_fill; |
6586 | 60.7k | } |
6587 | 2.54M | } |
6588 | | |
6589 | 2.49M | if (potential_align_after_fill == align_type::none) { |
6590 | 2.47M | if (potential_align_on_fill != align_type::none) { |
6591 | 8.23k | handler.on_align(potential_align_on_fill); |
6592 | 8.23k | return begin_after_fill; |
6593 | 8.23k | } |
6594 | 2.47M | return begin_before_fill; |
6595 | 2.47M | } |
6596 | | |
6597 | 10.6k | handler.on_fill(potential_fill); |
6598 | 10.6k | handler.on_align(potential_align_after_fill); |
6599 | 10.6k | return begin; |
6600 | 2.49M | } impl.cpp:char const* scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&) Line | Count | Source | 6541 | 878k | { | 6542 | 878k | SCN_EXPECT(begin != end); | 6543 | | | 6544 | 878k | auto check_align = [](wchar_t ch) { | 6545 | 878k | switch (ch) { | 6546 | 878k | case L'<': | 6547 | 878k | return align_type::left; | 6548 | 878k | case L'>': | 6549 | 878k | return align_type::right; | 6550 | 878k | case L'^': | 6551 | 878k | return align_type::center; | 6552 | 878k | default: | 6553 | 878k | return align_type::none; | 6554 | 878k | } | 6555 | 878k | }; | 6556 | | | 6557 | 878k | auto potential_fill_len = code_point_length(begin, end); | 6558 | 878k | if (SCN_UNLIKELY(potential_fill_len == 0 || | 6559 | 878k | std::distance(begin, end) < potential_fill_len)) { | 6560 | 42 | handler.on_error("Invalid encoding in fill character"); | 6561 | 42 | return begin; | 6562 | 42 | } | 6563 | | | 6564 | 878k | auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin)); | 6565 | | | 6566 | 878k | auto potential_fill = std::basic_string_view<CharT>{ | 6567 | 878k | begin, static_cast<size_t>(potential_fill_len)}; | 6568 | 878k | const auto begin_before_fill = begin; | 6569 | 878k | begin += potential_fill_len; | 6570 | | | 6571 | 878k | if (begin == end) { | 6572 | 1.03k | return begin_before_fill; | 6573 | 1.03k | } | 6574 | | | 6575 | 877k | auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin)); | 6576 | 877k | const auto begin_after_fill = begin; | 6577 | 877k | ++begin; | 6578 | | | 6579 | 877k | if (potential_fill_len == 1) { | 6580 | 876k | if (SCN_UNLIKELY(potential_fill[0] == '{')) { | 6581 | 60 | handler.on_error("Invalid fill character '{' in format string"); | 6582 | 60 | return begin; | 6583 | 60 | } | 6584 | 875k | if (potential_fill[0] == '[') { | 6585 | 25.3k | return begin_before_fill; | 6586 | 25.3k | } | 6587 | 875k | } | 6588 | | | 6589 | 852k | if (potential_align_after_fill == align_type::none) { | 6590 | 842k | if (potential_align_on_fill != align_type::none) { | 6591 | 7.00k | handler.on_align(potential_align_on_fill); | 6592 | 7.00k | return begin_after_fill; | 6593 | 7.00k | } | 6594 | 835k | return begin_before_fill; | 6595 | 842k | } | 6596 | | | 6597 | 9.62k | handler.on_fill(potential_fill); | 6598 | 9.62k | handler.on_align(potential_align_after_fill); | 6599 | 9.62k | return begin; | 6600 | 852k | } |
impl.cpp:char const* scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&) Line | Count | Source | 6541 | 800k | { | 6542 | 800k | SCN_EXPECT(begin != end); | 6543 | | | 6544 | 800k | auto check_align = [](wchar_t ch) { | 6545 | 800k | switch (ch) { | 6546 | 800k | case L'<': | 6547 | 800k | return align_type::left; | 6548 | 800k | case L'>': | 6549 | 800k | return align_type::right; | 6550 | 800k | case L'^': | 6551 | 800k | return align_type::center; | 6552 | 800k | default: | 6553 | 800k | return align_type::none; | 6554 | 800k | } | 6555 | 800k | }; | 6556 | | | 6557 | 800k | auto potential_fill_len = code_point_length(begin, end); | 6558 | 800k | if (SCN_UNLIKELY(potential_fill_len == 0 || | 6559 | 800k | std::distance(begin, end) < potential_fill_len)) { | 6560 | 0 | handler.on_error("Invalid encoding in fill character"); | 6561 | 0 | return begin; | 6562 | 0 | } | 6563 | | | 6564 | 800k | auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin)); | 6565 | | | 6566 | 800k | auto potential_fill = std::basic_string_view<CharT>{ | 6567 | 800k | begin, static_cast<size_t>(potential_fill_len)}; | 6568 | 800k | const auto begin_before_fill = begin; | 6569 | 800k | begin += potential_fill_len; | 6570 | | | 6571 | 800k | if (begin == end) { | 6572 | 0 | return begin_before_fill; | 6573 | 0 | } | 6574 | | | 6575 | 800k | auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin)); | 6576 | 800k | const auto begin_after_fill = begin; | 6577 | 800k | ++begin; | 6578 | | | 6579 | 800k | if (potential_fill_len == 1) { | 6580 | 800k | if (SCN_UNLIKELY(potential_fill[0] == '{')) { | 6581 | 0 | handler.on_error("Invalid fill character '{' in format string"); | 6582 | 0 | return begin; | 6583 | 0 | } | 6584 | 800k | if (potential_fill[0] == '[') { | 6585 | 6.42k | return begin_before_fill; | 6586 | 6.42k | } | 6587 | 800k | } | 6588 | | | 6589 | 793k | if (potential_align_after_fill == align_type::none) { | 6590 | 793k | if (potential_align_on_fill != align_type::none) { | 6591 | 0 | handler.on_align(potential_align_on_fill); | 6592 | 0 | return begin_after_fill; | 6593 | 0 | } | 6594 | 793k | return begin_before_fill; | 6595 | 793k | } | 6596 | | | 6597 | 0 | handler.on_fill(potential_fill); | 6598 | 0 | handler.on_align(potential_align_after_fill); | 6599 | 0 | return begin; | 6600 | 793k | } |
impl.cpp:wchar_t const* scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&) Line | Count | Source | 6541 | 480k | { | 6542 | 480k | SCN_EXPECT(begin != end); | 6543 | | | 6544 | 480k | auto check_align = [](wchar_t ch) { | 6545 | 480k | switch (ch) { | 6546 | 480k | case L'<': | 6547 | 480k | return align_type::left; | 6548 | 480k | case L'>': | 6549 | 480k | return align_type::right; | 6550 | 480k | case L'^': | 6551 | 480k | return align_type::center; | 6552 | 480k | default: | 6553 | 480k | return align_type::none; | 6554 | 480k | } | 6555 | 480k | }; | 6556 | | | 6557 | 480k | auto potential_fill_len = code_point_length(begin, end); | 6558 | 480k | if (SCN_UNLIKELY(potential_fill_len == 0 || | 6559 | 480k | std::distance(begin, end) < potential_fill_len)) { | 6560 | 0 | handler.on_error("Invalid encoding in fill character"); | 6561 | 0 | return begin; | 6562 | 0 | } | 6563 | | | 6564 | 480k | auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin)); | 6565 | | | 6566 | 480k | auto potential_fill = std::basic_string_view<CharT>{ | 6567 | 480k | begin, static_cast<size_t>(potential_fill_len)}; | 6568 | 480k | const auto begin_before_fill = begin; | 6569 | 480k | begin += potential_fill_len; | 6570 | | | 6571 | 480k | if (begin == end) { | 6572 | 994 | return begin_before_fill; | 6573 | 994 | } | 6574 | | | 6575 | 479k | auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin)); | 6576 | 479k | const auto begin_after_fill = begin; | 6577 | 479k | ++begin; | 6578 | | | 6579 | 479k | if (potential_fill_len == 1) { | 6580 | 479k | if (SCN_UNLIKELY(potential_fill[0] == '{')) { | 6581 | 42 | handler.on_error("Invalid fill character '{' in format string"); | 6582 | 42 | return begin; | 6583 | 42 | } | 6584 | 479k | if (potential_fill[0] == '[') { | 6585 | 19.9k | return begin_before_fill; | 6586 | 19.9k | } | 6587 | 479k | } | 6588 | | | 6589 | 459k | if (potential_align_after_fill == align_type::none) { | 6590 | 458k | if (potential_align_on_fill != align_type::none) { | 6591 | 1.23k | handler.on_align(potential_align_on_fill); | 6592 | 1.23k | return begin_after_fill; | 6593 | 1.23k | } | 6594 | 457k | return begin_before_fill; | 6595 | 458k | } | 6596 | | | 6597 | 1.01k | handler.on_fill(potential_fill); | 6598 | 1.01k | handler.on_align(potential_align_after_fill); | 6599 | 1.01k | return begin; | 6600 | 459k | } |
impl.cpp:wchar_t const* scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&) Line | Count | Source | 6541 | 394k | { | 6542 | 394k | SCN_EXPECT(begin != end); | 6543 | | | 6544 | 394k | auto check_align = [](wchar_t ch) { | 6545 | 394k | switch (ch) { | 6546 | 394k | case L'<': | 6547 | 394k | return align_type::left; | 6548 | 394k | case L'>': | 6549 | 394k | return align_type::right; | 6550 | 394k | case L'^': | 6551 | 394k | return align_type::center; | 6552 | 394k | default: | 6553 | 394k | return align_type::none; | 6554 | 394k | } | 6555 | 394k | }; | 6556 | | | 6557 | 394k | auto potential_fill_len = code_point_length(begin, end); | 6558 | 394k | if (SCN_UNLIKELY(potential_fill_len == 0 || | 6559 | 394k | std::distance(begin, end) < potential_fill_len)) { | 6560 | 0 | handler.on_error("Invalid encoding in fill character"); | 6561 | 0 | return begin; | 6562 | 0 | } | 6563 | | | 6564 | 394k | auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin)); | 6565 | | | 6566 | 394k | auto potential_fill = std::basic_string_view<CharT>{ | 6567 | 394k | begin, static_cast<size_t>(potential_fill_len)}; | 6568 | 394k | const auto begin_before_fill = begin; | 6569 | 394k | begin += potential_fill_len; | 6570 | | | 6571 | 394k | if (begin == end) { | 6572 | 0 | return begin_before_fill; | 6573 | 0 | } | 6574 | | | 6575 | 394k | auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin)); | 6576 | 394k | const auto begin_after_fill = begin; | 6577 | 394k | ++begin; | 6578 | | | 6579 | 394k | if (potential_fill_len == 1) { | 6580 | 394k | if (SCN_UNLIKELY(potential_fill[0] == '{')) { | 6581 | 0 | handler.on_error("Invalid fill character '{' in format string"); | 6582 | 0 | return begin; | 6583 | 0 | } | 6584 | 394k | if (potential_fill[0] == '[') { | 6585 | 9.12k | return begin_before_fill; | 6586 | 9.12k | } | 6587 | 394k | } | 6588 | | | 6589 | 385k | if (potential_align_after_fill == align_type::none) { | 6590 | 385k | if (potential_align_on_fill != align_type::none) { | 6591 | 0 | handler.on_align(potential_align_on_fill); | 6592 | 0 | return begin_after_fill; | 6593 | 0 | } | 6594 | 385k | return begin_before_fill; | 6595 | 385k | } | 6596 | | | 6597 | 0 | handler.on_fill(potential_fill); | 6598 | 0 | handler.on_align(potential_align_after_fill); | 6599 | 0 | return begin; | 6600 | 385k | } |
|
6601 | | |
6602 | | template <typename CharT, typename Handler> |
6603 | | constexpr const CharT* parse_width(const CharT* begin, |
6604 | | const CharT* end, |
6605 | | Handler&& handler) |
6606 | 2.55M | { |
6607 | 2.55M | SCN_EXPECT(begin != end); |
6608 | | |
6609 | 2.55M | if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) { |
6610 | 107k | int width = parse_simple_int(begin, end); |
6611 | 107k | if (SCN_LIKELY(width != -1)) { |
6612 | 107k | handler.on_width(width); |
6613 | 107k | } |
6614 | 88 | else { |
6615 | 88 | handler.on_error("Invalid field width"); |
6616 | 88 | return begin; |
6617 | 88 | } |
6618 | 107k | } |
6619 | 2.55M | return begin; |
6620 | 2.55M | } impl.cpp:char const* scn::v3::detail::parse_width<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&) Line | Count | Source | 6606 | 878k | { | 6607 | 878k | SCN_EXPECT(begin != end); | 6608 | | | 6609 | 878k | if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) { | 6610 | 22.8k | int width = parse_simple_int(begin, end); | 6611 | 22.8k | if (SCN_LIKELY(width != -1)) { | 6612 | 22.8k | handler.on_width(width); | 6613 | 22.8k | } | 6614 | 34 | else { | 6615 | 34 | handler.on_error("Invalid field width"); | 6616 | 34 | return begin; | 6617 | 34 | } | 6618 | 22.8k | } | 6619 | 878k | return begin; | 6620 | 878k | } |
impl.cpp:char const* scn::v3::detail::parse_width<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&) Line | Count | Source | 6606 | 800k | { | 6607 | 800k | SCN_EXPECT(begin != end); | 6608 | | | 6609 | 800k | if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) { | 6610 | 8.87k | int width = parse_simple_int(begin, end); | 6611 | 8.87k | if (SCN_LIKELY(width != -1)) { | 6612 | 8.87k | handler.on_width(width); | 6613 | 8.87k | } | 6614 | 0 | else { | 6615 | 0 | handler.on_error("Invalid field width"); | 6616 | 0 | return begin; | 6617 | 0 | } | 6618 | 8.87k | } | 6619 | 800k | return begin; | 6620 | 800k | } |
impl.cpp:wchar_t const* scn::v3::detail::parse_width<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&) Line | Count | Source | 6606 | 480k | { | 6607 | 480k | SCN_EXPECT(begin != end); | 6608 | | | 6609 | 480k | if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) { | 6610 | 57.9k | int width = parse_simple_int(begin, end); | 6611 | 57.9k | if (SCN_LIKELY(width != -1)) { | 6612 | 57.8k | handler.on_width(width); | 6613 | 57.8k | } | 6614 | 54 | else { | 6615 | 54 | handler.on_error("Invalid field width"); | 6616 | 54 | return begin; | 6617 | 54 | } | 6618 | 57.9k | } | 6619 | 480k | return begin; | 6620 | 480k | } |
impl.cpp:wchar_t const* scn::v3::detail::parse_width<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&) Line | Count | Source | 6606 | 394k | { | 6607 | 394k | SCN_EXPECT(begin != end); | 6608 | | | 6609 | 394k | if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) { | 6610 | 17.7k | int width = parse_simple_int(begin, end); | 6611 | 17.7k | if (SCN_LIKELY(width != -1)) { | 6612 | 17.7k | handler.on_width(width); | 6613 | 17.7k | } | 6614 | 0 | else { | 6615 | 0 | handler.on_error("Invalid field width"); | 6616 | 0 | return begin; | 6617 | 0 | } | 6618 | 17.7k | } | 6619 | 394k | return begin; | 6620 | 394k | } |
|
6621 | | |
6622 | | template <typename CharT, typename Handler> |
6623 | | constexpr const CharT* parse_precision(const CharT* begin, |
6624 | | const CharT* end, |
6625 | | Handler&& handler) |
6626 | 15.9k | { |
6627 | 15.9k | SCN_EXPECT(begin != end); |
6628 | | |
6629 | 15.9k | if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) { |
6630 | 15.5k | int prec = parse_simple_int(begin, end); |
6631 | 15.5k | if (SCN_LIKELY(prec != -1)) { |
6632 | 15.4k | handler.on_precision(prec); |
6633 | 15.4k | } |
6634 | 48 | else { |
6635 | 48 | handler.on_error("Invalid field precision"); |
6636 | 48 | return begin; |
6637 | 48 | } |
6638 | 15.5k | } |
6639 | 15.8k | return begin; |
6640 | 15.9k | } impl.cpp:char const* scn::v3::detail::parse_precision<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&) Line | Count | Source | 6626 | 11.9k | { | 6627 | 11.9k | SCN_EXPECT(begin != end); | 6628 | | | 6629 | 11.9k | if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) { | 6630 | 11.8k | int prec = parse_simple_int(begin, end); | 6631 | 11.8k | if (SCN_LIKELY(prec != -1)) { | 6632 | 11.7k | handler.on_precision(prec); | 6633 | 11.7k | } | 6634 | 48 | else { | 6635 | 48 | handler.on_error("Invalid field precision"); | 6636 | 48 | return begin; | 6637 | 48 | } | 6638 | 11.8k | } | 6639 | 11.9k | return begin; | 6640 | 11.9k | } |
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::parse_precision<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&) impl.cpp:wchar_t const* scn::v3::detail::parse_precision<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&) Line | Count | Source | 6626 | 3.91k | { | 6627 | 3.91k | SCN_EXPECT(begin != end); | 6628 | | | 6629 | 3.91k | if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) { | 6630 | 3.68k | int prec = parse_simple_int(begin, end); | 6631 | 3.68k | if (SCN_LIKELY(prec != -1)) { | 6632 | 3.68k | handler.on_precision(prec); | 6633 | 3.68k | } | 6634 | 0 | else { | 6635 | 0 | handler.on_error("Invalid field precision"); | 6636 | 0 | return begin; | 6637 | 0 | } | 6638 | 3.68k | } | 6639 | 3.91k | return begin; | 6640 | 3.91k | } |
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::parse_precision<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&) |
6641 | | |
6642 | | template <typename CharT, typename SpecHandler> |
6643 | | constexpr char32_t parse_presentation_set_code_point(const CharT*& begin, |
6644 | | const CharT* end, |
6645 | | SpecHandler&& handler) |
6646 | 3.91M | { |
6647 | 3.91M | SCN_EXPECT(begin != end); |
6648 | | |
6649 | 3.91M | auto len = code_point_length_by_starting_code_unit(*begin); |
6650 | 3.91M | if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) { |
6651 | 96 | handler.on_error("Invalid encoding in format string"); |
6652 | 96 | return invalid_code_point; |
6653 | 96 | } |
6654 | | |
6655 | 3.91M | const auto cp = |
6656 | 3.91M | decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len}); |
6657 | 3.91M | if (SCN_UNLIKELY(cp >= invalid_code_point)) { |
6658 | 254 | handler.on_error("Invalid encoding in format string"); |
6659 | 254 | return invalid_code_point; |
6660 | 254 | } |
6661 | | |
6662 | 3.91M | begin += len; |
6663 | 3.91M | return cp; |
6664 | 3.91M | } char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&) Line | Count | Source | 6646 | 925k | { | 6647 | 925k | SCN_EXPECT(begin != end); | 6648 | | | 6649 | 925k | auto len = code_point_length_by_starting_code_unit(*begin); | 6650 | 925k | if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) { | 6651 | 0 | handler.on_error("Invalid encoding in format string"); | 6652 | 0 | return invalid_code_point; | 6653 | 0 | } | 6654 | | | 6655 | 925k | const auto cp = | 6656 | 925k | decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len}); | 6657 | 925k | if (SCN_UNLIKELY(cp >= invalid_code_point)) { | 6658 | 0 | handler.on_error("Invalid encoding in format string"); | 6659 | 0 | return invalid_code_point; | 6660 | 0 | } | 6661 | | | 6662 | 925k | begin += len; | 6663 | 925k | return cp; | 6664 | 925k | } |
char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&) Line | Count | Source | 6646 | 5.31k | { | 6647 | 5.31k | SCN_EXPECT(begin != end); | 6648 | | | 6649 | 5.31k | auto len = code_point_length_by_starting_code_unit(*begin); | 6650 | 5.31k | if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) { | 6651 | 0 | handler.on_error("Invalid encoding in format string"); | 6652 | 0 | return invalid_code_point; | 6653 | 0 | } | 6654 | | | 6655 | 5.31k | const auto cp = | 6656 | 5.31k | decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len}); | 6657 | 5.31k | if (SCN_UNLIKELY(cp >= invalid_code_point)) { | 6658 | 0 | handler.on_error("Invalid encoding in format string"); | 6659 | 0 | return invalid_code_point; | 6660 | 0 | } | 6661 | | | 6662 | 5.31k | begin += len; | 6663 | 5.31k | return cp; | 6664 | 5.31k | } |
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&) Line | Count | Source | 6646 | 2.83M | { | 6647 | 2.83M | SCN_EXPECT(begin != end); | 6648 | | | 6649 | 2.83M | auto len = code_point_length_by_starting_code_unit(*begin); | 6650 | 2.83M | if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) { | 6651 | 96 | handler.on_error("Invalid encoding in format string"); | 6652 | 96 | return invalid_code_point; | 6653 | 96 | } | 6654 | | | 6655 | 2.83M | const auto cp = | 6656 | 2.83M | decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len}); | 6657 | 2.83M | if (SCN_UNLIKELY(cp >= invalid_code_point)) { | 6658 | 74 | handler.on_error("Invalid encoding in format string"); | 6659 | 74 | return invalid_code_point; | 6660 | 74 | } | 6661 | | | 6662 | 2.83M | begin += len; | 6663 | 2.83M | return cp; | 6664 | 2.83M | } |
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&) Line | Count | Source | 6646 | 25.6k | { | 6647 | 25.6k | SCN_EXPECT(begin != end); | 6648 | | | 6649 | 25.6k | auto len = code_point_length_by_starting_code_unit(*begin); | 6650 | 25.6k | if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) { | 6651 | 0 | handler.on_error("Invalid encoding in format string"); | 6652 | 0 | return invalid_code_point; | 6653 | 0 | } | 6654 | | | 6655 | 25.6k | const auto cp = | 6656 | 25.6k | decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len}); | 6657 | 25.6k | if (SCN_UNLIKELY(cp >= invalid_code_point)) { | 6658 | 0 | handler.on_error("Invalid encoding in format string"); | 6659 | 0 | return invalid_code_point; | 6660 | 0 | } | 6661 | | | 6662 | 25.6k | begin += len; | 6663 | 25.6k | return cp; | 6664 | 25.6k | } |
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&) Line | Count | Source | 6646 | 93.7k | { | 6647 | 93.7k | SCN_EXPECT(begin != end); | 6648 | | | 6649 | 93.7k | auto len = code_point_length_by_starting_code_unit(*begin); | 6650 | 93.7k | if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) { | 6651 | 0 | handler.on_error("Invalid encoding in format string"); | 6652 | 0 | return invalid_code_point; | 6653 | 0 | } | 6654 | | | 6655 | 93.7k | const auto cp = | 6656 | 93.7k | decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len}); | 6657 | 93.7k | if (SCN_UNLIKELY(cp >= invalid_code_point)) { | 6658 | 180 | handler.on_error("Invalid encoding in format string"); | 6659 | 180 | return invalid_code_point; | 6660 | 180 | } | 6661 | | | 6662 | 93.5k | begin += len; | 6663 | 93.5k | return cp; | 6664 | 93.7k | } |
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&) Line | Count | Source | 6646 | 36.4k | { | 6647 | 36.4k | SCN_EXPECT(begin != end); | 6648 | | | 6649 | 36.4k | auto len = code_point_length_by_starting_code_unit(*begin); | 6650 | 36.4k | if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) { | 6651 | 0 | handler.on_error("Invalid encoding in format string"); | 6652 | 0 | return invalid_code_point; | 6653 | 0 | } | 6654 | | | 6655 | 36.4k | const auto cp = | 6656 | 36.4k | decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len}); | 6657 | 36.4k | if (SCN_UNLIKELY(cp >= invalid_code_point)) { | 6658 | 0 | handler.on_error("Invalid encoding in format string"); | 6659 | 0 | return invalid_code_point; | 6660 | 0 | } | 6661 | | | 6662 | 36.4k | begin += len; | 6663 | 36.4k | return cp; | 6664 | 36.4k | } |
|
6665 | | |
6666 | | template <typename CharT, typename SpecHandler> |
6667 | | constexpr void parse_presentation_set_literal(const CharT*& begin, |
6668 | | const CharT* end, |
6669 | | SpecHandler&& handler) |
6670 | 3.80M | { |
6671 | 3.80M | SCN_EXPECT(begin != end); |
6672 | | |
6673 | 3.80M | auto cp_first = parse_presentation_set_code_point(begin, end, handler); |
6674 | 3.80M | if (SCN_UNLIKELY(cp_first >= invalid_code_point)) { |
6675 | 246 | return; |
6676 | 246 | } |
6677 | | |
6678 | 3.80M | if (begin != end && *begin == CharT{'-'} && (begin + 1) != end && |
6679 | 3.80M | *(begin + 1) != CharT{']'}) { |
6680 | 114k | ++begin; |
6681 | | |
6682 | 114k | auto cp_second = parse_presentation_set_code_point(begin, end, handler); |
6683 | 114k | if (SCN_UNLIKELY(cp_second >= invalid_code_point)) { |
6684 | 104 | return; |
6685 | 104 | } |
6686 | | |
6687 | 114k | if (SCN_UNLIKELY(cp_second < cp_first)) { |
6688 | | // clang-format off |
6689 | 68 | handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning"); |
6690 | | // clang-format on |
6691 | 68 | return; |
6692 | 68 | } |
6693 | | |
6694 | 114k | handler.on_charset_range(cp_first, cp_second + 1); |
6695 | 114k | return; |
6696 | 114k | } |
6697 | | |
6698 | 3.68M | handler.on_charset_single(cp_first); |
6699 | 3.68M | } void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&) Line | Count | Source | 6670 | 920k | { | 6671 | 920k | SCN_EXPECT(begin != end); | 6672 | | | 6673 | 920k | auto cp_first = parse_presentation_set_code_point(begin, end, handler); | 6674 | 920k | if (SCN_UNLIKELY(cp_first >= invalid_code_point)) { | 6675 | 0 | return; | 6676 | 0 | } | 6677 | | | 6678 | 920k | if (begin != end && *begin == CharT{'-'} && (begin + 1) != end && | 6679 | 920k | *(begin + 1) != CharT{']'}) { | 6680 | 4.77k | ++begin; | 6681 | | | 6682 | 4.77k | auto cp_second = parse_presentation_set_code_point(begin, end, handler); | 6683 | 4.77k | if (SCN_UNLIKELY(cp_second >= invalid_code_point)) { | 6684 | 0 | return; | 6685 | 0 | } | 6686 | | | 6687 | 4.77k | if (SCN_UNLIKELY(cp_second < cp_first)) { | 6688 | | // clang-format off | 6689 | 0 | handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning"); | 6690 | | // clang-format on | 6691 | 0 | return; | 6692 | 0 | } | 6693 | | | 6694 | 4.77k | handler.on_charset_range(cp_first, cp_second + 1); | 6695 | 4.77k | return; | 6696 | 4.77k | } | 6697 | | | 6698 | 915k | handler.on_charset_single(cp_first); | 6699 | 915k | } |
void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&) Line | Count | Source | 6670 | 5.06k | { | 6671 | 5.06k | SCN_EXPECT(begin != end); | 6672 | | | 6673 | 5.06k | auto cp_first = parse_presentation_set_code_point(begin, end, handler); | 6674 | 5.06k | if (SCN_UNLIKELY(cp_first >= invalid_code_point)) { | 6675 | 0 | return; | 6676 | 0 | } | 6677 | | | 6678 | 5.06k | if (begin != end && *begin == CharT{'-'} && (begin + 1) != end && | 6679 | 5.06k | *(begin + 1) != CharT{']'}) { | 6680 | 252 | ++begin; | 6681 | | | 6682 | 252 | auto cp_second = parse_presentation_set_code_point(begin, end, handler); | 6683 | 252 | if (SCN_UNLIKELY(cp_second >= invalid_code_point)) { | 6684 | 0 | return; | 6685 | 0 | } | 6686 | | | 6687 | 252 | if (SCN_UNLIKELY(cp_second < cp_first)) { | 6688 | | // clang-format off | 6689 | 0 | handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning"); | 6690 | | // clang-format on | 6691 | 0 | return; | 6692 | 0 | } | 6693 | | | 6694 | 252 | handler.on_charset_range(cp_first, cp_second + 1); | 6695 | 252 | return; | 6696 | 252 | } | 6697 | | | 6698 | 4.81k | handler.on_charset_single(cp_first); | 6699 | 4.81k | } |
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&) Line | Count | Source | 6670 | 2.79M | { | 6671 | 2.79M | SCN_EXPECT(begin != end); | 6672 | | | 6673 | 2.79M | auto cp_first = parse_presentation_set_code_point(begin, end, handler); | 6674 | 2.79M | if (SCN_UNLIKELY(cp_first >= invalid_code_point)) { | 6675 | 100 | return; | 6676 | 100 | } | 6677 | | | 6678 | 2.79M | if (begin != end && *begin == CharT{'-'} && (begin + 1) != end && | 6679 | 2.79M | *(begin + 1) != CharT{']'}) { | 6680 | 41.1k | ++begin; | 6681 | | | 6682 | 41.1k | auto cp_second = parse_presentation_set_code_point(begin, end, handler); | 6683 | 41.1k | if (SCN_UNLIKELY(cp_second >= invalid_code_point)) { | 6684 | 70 | return; | 6685 | 70 | } | 6686 | | | 6687 | 41.0k | if (SCN_UNLIKELY(cp_second < cp_first)) { | 6688 | | // clang-format off | 6689 | 34 | handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning"); | 6690 | | // clang-format on | 6691 | 34 | return; | 6692 | 34 | } | 6693 | | | 6694 | 41.0k | handler.on_charset_range(cp_first, cp_second + 1); | 6695 | 41.0k | return; | 6696 | 41.0k | } | 6697 | | | 6698 | 2.75M | handler.on_charset_single(cp_first); | 6699 | 2.75M | } |
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&) Line | Count | Source | 6670 | 12.8k | { | 6671 | 12.8k | SCN_EXPECT(begin != end); | 6672 | | | 6673 | 12.8k | auto cp_first = parse_presentation_set_code_point(begin, end, handler); | 6674 | 12.8k | if (SCN_UNLIKELY(cp_first >= invalid_code_point)) { | 6675 | 0 | return; | 6676 | 0 | } | 6677 | | | 6678 | 12.8k | if (begin != end && *begin == CharT{'-'} && (begin + 1) != end && | 6679 | 12.8k | *(begin + 1) != CharT{']'}) { | 6680 | 12.8k | ++begin; | 6681 | | | 6682 | 12.8k | auto cp_second = parse_presentation_set_code_point(begin, end, handler); | 6683 | 12.8k | if (SCN_UNLIKELY(cp_second >= invalid_code_point)) { | 6684 | 0 | return; | 6685 | 0 | } | 6686 | | | 6687 | 12.8k | if (SCN_UNLIKELY(cp_second < cp_first)) { | 6688 | | // clang-format off | 6689 | 0 | handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning"); | 6690 | | // clang-format on | 6691 | 0 | return; | 6692 | 0 | } | 6693 | | | 6694 | 12.8k | handler.on_charset_range(cp_first, cp_second + 1); | 6695 | 12.8k | return; | 6696 | 12.8k | } | 6697 | | | 6698 | 0 | handler.on_charset_single(cp_first); | 6699 | 0 | } |
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&) Line | Count | Source | 6670 | 56.0k | { | 6671 | 56.0k | SCN_EXPECT(begin != end); | 6672 | | | 6673 | 56.0k | auto cp_first = parse_presentation_set_code_point(begin, end, handler); | 6674 | 56.0k | if (SCN_UNLIKELY(cp_first >= invalid_code_point)) { | 6675 | 146 | return; | 6676 | 146 | } | 6677 | | | 6678 | 55.9k | if (begin != end && *begin == CharT{'-'} && (begin + 1) != end && | 6679 | 55.9k | *(begin + 1) != CharT{']'}) { | 6680 | 37.6k | ++begin; | 6681 | | | 6682 | 37.6k | auto cp_second = parse_presentation_set_code_point(begin, end, handler); | 6683 | 37.6k | if (SCN_UNLIKELY(cp_second >= invalid_code_point)) { | 6684 | 34 | return; | 6685 | 34 | } | 6686 | | | 6687 | 37.6k | if (SCN_UNLIKELY(cp_second < cp_first)) { | 6688 | | // clang-format off | 6689 | 34 | handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning"); | 6690 | | // clang-format on | 6691 | 34 | return; | 6692 | 34 | } | 6693 | | | 6694 | 37.6k | handler.on_charset_range(cp_first, cp_second + 1); | 6695 | 37.6k | return; | 6696 | 37.6k | } | 6697 | | | 6698 | 18.2k | handler.on_charset_single(cp_first); | 6699 | 18.2k | } |
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&) Line | Count | Source | 6670 | 18.2k | { | 6671 | 18.2k | SCN_EXPECT(begin != end); | 6672 | | | 6673 | 18.2k | auto cp_first = parse_presentation_set_code_point(begin, end, handler); | 6674 | 18.2k | if (SCN_UNLIKELY(cp_first >= invalid_code_point)) { | 6675 | 0 | return; | 6676 | 0 | } | 6677 | | | 6678 | 18.2k | if (begin != end && *begin == CharT{'-'} && (begin + 1) != end && | 6679 | 18.2k | *(begin + 1) != CharT{']'}) { | 6680 | 18.2k | ++begin; | 6681 | | | 6682 | 18.2k | auto cp_second = parse_presentation_set_code_point(begin, end, handler); | 6683 | 18.2k | if (SCN_UNLIKELY(cp_second >= invalid_code_point)) { | 6684 | 0 | return; | 6685 | 0 | } | 6686 | | | 6687 | 18.2k | if (SCN_UNLIKELY(cp_second < cp_first)) { | 6688 | | // clang-format off | 6689 | 0 | handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning"); | 6690 | | // clang-format on | 6691 | 0 | return; | 6692 | 0 | } | 6693 | | | 6694 | 18.2k | handler.on_charset_range(cp_first, cp_second + 1); | 6695 | 18.2k | return; | 6696 | 18.2k | } | 6697 | | | 6698 | 0 | handler.on_charset_single(cp_first); | 6699 | 0 | } |
|
6700 | | |
6701 | | template <typename CharT, typename SpecHandler> |
6702 | | constexpr std::basic_string_view<CharT> parse_presentation_set( |
6703 | | const CharT*& begin, |
6704 | | const CharT* end, |
6705 | | SpecHandler&& handler) |
6706 | 70.5k | { |
6707 | 70.5k | SCN_EXPECT(begin != end); |
6708 | 70.5k | SCN_EXPECT(*begin == CharT{'['}); |
6709 | | |
6710 | 70.5k | auto start = begin; |
6711 | 70.5k | ++begin; |
6712 | | |
6713 | 70.5k | if (SCN_UNLIKELY(begin == end)) { |
6714 | | // clang-format off |
6715 | 76 | handler.on_error("Unexpected end of [character set] specifier in format string"); |
6716 | | // clang-format on |
6717 | 76 | return {}; |
6718 | 76 | } |
6719 | 70.4k | if (*begin == CharT{'^'}) { |
6720 | 4.04k | handler.on_charset_inverted(); |
6721 | 4.04k | ++begin; |
6722 | 4.04k | if (SCN_UNLIKELY(begin == end)) { |
6723 | | // clang-format off |
6724 | 68 | handler.on_error("Unexpected end of [character set] specifier in format string"); |
6725 | | // clang-format on |
6726 | 68 | return {}; |
6727 | 68 | } |
6728 | 3.97k | if (*begin == CharT{']'}) { |
6729 | 116 | handler.on_charset_single(char32_t{']'}); |
6730 | 116 | ++begin; |
6731 | 116 | } |
6732 | 3.97k | } |
6733 | 66.3k | else if (*begin == CharT{']'}) { |
6734 | 70 | return {start, static_cast<size_t>(std::distance(start, ++begin))}; |
6735 | 70 | } |
6736 | | |
6737 | 3.87M | while (begin != end) { |
6738 | 3.87M | if (SCN_UNLIKELY(!handler)) { |
6739 | 404 | break; |
6740 | 404 | } |
6741 | | |
6742 | 3.87M | if (*begin == CharT{']'}) { |
6743 | 69.0k | return {start, static_cast<size_t>(std::distance(start, ++begin))}; |
6744 | 69.0k | } |
6745 | | |
6746 | 3.80M | parse_presentation_set_literal(begin, end, handler); |
6747 | 3.80M | } |
6748 | | |
6749 | 1.21k | SCN_UNLIKELY_ATTR |
6750 | 1.21k | handler.on_error("Invalid [character set] specifier in format string"); |
6751 | 1.21k | return {}; |
6752 | 70.2k | } std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&) Line | Count | Source | 6706 | 4.45k | { | 6707 | 4.45k | SCN_EXPECT(begin != end); | 6708 | 4.45k | SCN_EXPECT(*begin == CharT{'['}); | 6709 | | | 6710 | 4.45k | auto start = begin; | 6711 | 4.45k | ++begin; | 6712 | | | 6713 | 4.45k | if (SCN_UNLIKELY(begin == end)) { | 6714 | | // clang-format off | 6715 | 0 | handler.on_error("Unexpected end of [character set] specifier in format string"); | 6716 | | // clang-format on | 6717 | 0 | return {}; | 6718 | 0 | } | 6719 | 4.45k | if (*begin == CharT{'^'}) { | 6720 | 390 | handler.on_charset_inverted(); | 6721 | 390 | ++begin; | 6722 | 390 | if (SCN_UNLIKELY(begin == end)) { | 6723 | | // clang-format off | 6724 | 0 | handler.on_error("Unexpected end of [character set] specifier in format string"); | 6725 | | // clang-format on | 6726 | 0 | return {}; | 6727 | 0 | } | 6728 | 390 | if (*begin == CharT{']'}) { | 6729 | 6 | handler.on_charset_single(char32_t{']'}); | 6730 | 6 | ++begin; | 6731 | 6 | } | 6732 | 390 | } | 6733 | 4.06k | else if (*begin == CharT{']'}) { | 6734 | 0 | return {start, static_cast<size_t>(std::distance(start, ++begin))}; | 6735 | 0 | } | 6736 | | | 6737 | 924k | while (begin != end) { | 6738 | 924k | if (SCN_UNLIKELY(!handler)) { | 6739 | 0 | break; | 6740 | 0 | } | 6741 | | | 6742 | 924k | if (*begin == CharT{']'}) { | 6743 | 4.45k | return {start, static_cast<size_t>(std::distance(start, ++begin))}; | 6744 | 4.45k | } | 6745 | | | 6746 | 920k | parse_presentation_set_literal(begin, end, handler); | 6747 | 920k | } | 6748 | | | 6749 | 0 | SCN_UNLIKELY_ATTR | 6750 | 0 | handler.on_error("Invalid [character set] specifier in format string"); | 6751 | 0 | return {}; | 6752 | 4.45k | } |
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&) Line | Count | Source | 6706 | 522 | { | 6707 | 522 | SCN_EXPECT(begin != end); | 6708 | 522 | SCN_EXPECT(*begin == CharT{'['}); | 6709 | | | 6710 | 522 | auto start = begin; | 6711 | 522 | ++begin; | 6712 | | | 6713 | 522 | if (SCN_UNLIKELY(begin == end)) { | 6714 | | // clang-format off | 6715 | 0 | handler.on_error("Unexpected end of [character set] specifier in format string"); | 6716 | | // clang-format on | 6717 | 0 | return {}; | 6718 | 0 | } | 6719 | 522 | if (*begin == CharT{'^'}) { | 6720 | 276 | handler.on_charset_inverted(); | 6721 | 276 | ++begin; | 6722 | 276 | if (SCN_UNLIKELY(begin == end)) { | 6723 | | // clang-format off | 6724 | 0 | handler.on_error("Unexpected end of [character set] specifier in format string"); | 6725 | | // clang-format on | 6726 | 0 | return {}; | 6727 | 0 | } | 6728 | 276 | if (*begin == CharT{']'}) { | 6729 | 6 | handler.on_charset_single(char32_t{']'}); | 6730 | 6 | ++begin; | 6731 | 6 | } | 6732 | 276 | } | 6733 | 246 | else if (*begin == CharT{']'}) { | 6734 | 0 | return {start, static_cast<size_t>(std::distance(start, ++begin))}; | 6735 | 0 | } | 6736 | | | 6737 | 5.58k | while (begin != end) { | 6738 | 5.58k | if (SCN_UNLIKELY(!handler)) { | 6739 | 0 | break; | 6740 | 0 | } | 6741 | | | 6742 | 5.58k | if (*begin == CharT{']'}) { | 6743 | 522 | return {start, static_cast<size_t>(std::distance(start, ++begin))}; | 6744 | 522 | } | 6745 | | | 6746 | 5.06k | parse_presentation_set_literal(begin, end, handler); | 6747 | 5.06k | } | 6748 | | | 6749 | 0 | SCN_UNLIKELY_ATTR | 6750 | 0 | handler.on_error("Invalid [character set] specifier in format string"); | 6751 | 0 | return {}; | 6752 | 522 | } |
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&) Line | Count | Source | 6706 | 28.8k | { | 6707 | 28.8k | SCN_EXPECT(begin != end); | 6708 | 28.8k | SCN_EXPECT(*begin == CharT{'['}); | 6709 | | | 6710 | 28.8k | auto start = begin; | 6711 | 28.8k | ++begin; | 6712 | | | 6713 | 28.8k | if (SCN_UNLIKELY(begin == end)) { | 6714 | | // clang-format off | 6715 | 42 | handler.on_error("Unexpected end of [character set] specifier in format string"); | 6716 | | // clang-format on | 6717 | 42 | return {}; | 6718 | 42 | } | 6719 | 28.8k | if (*begin == CharT{'^'}) { | 6720 | 2.08k | handler.on_charset_inverted(); | 6721 | 2.08k | ++begin; | 6722 | 2.08k | if (SCN_UNLIKELY(begin == end)) { | 6723 | | // clang-format off | 6724 | 34 | handler.on_error("Unexpected end of [character set] specifier in format string"); | 6725 | | // clang-format on | 6726 | 34 | return {}; | 6727 | 34 | } | 6728 | 2.04k | if (*begin == CharT{']'}) { | 6729 | 52 | handler.on_charset_single(char32_t{']'}); | 6730 | 52 | ++begin; | 6731 | 52 | } | 6732 | 2.04k | } | 6733 | 26.7k | else if (*begin == CharT{']'}) { | 6734 | 34 | return {start, static_cast<size_t>(std::distance(start, ++begin))}; | 6735 | 34 | } | 6736 | | | 6737 | 2.82M | while (begin != end) { | 6738 | 2.82M | if (SCN_UNLIKELY(!handler)) { | 6739 | 222 | break; | 6740 | 222 | } | 6741 | | | 6742 | 2.82M | if (*begin == CharT{']'}) { | 6743 | 28.0k | return {start, static_cast<size_t>(std::distance(start, ++begin))}; | 6744 | 28.0k | } | 6745 | | | 6746 | 2.79M | parse_presentation_set_literal(begin, end, handler); | 6747 | 2.79M | } | 6748 | | | 6749 | 706 | SCN_UNLIKELY_ATTR | 6750 | 706 | handler.on_error("Invalid [character set] specifier in format string"); | 6751 | 706 | return {}; | 6752 | 28.7k | } |
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&) Line | Count | Source | 6706 | 6.42k | { | 6707 | 6.42k | SCN_EXPECT(begin != end); | 6708 | 6.42k | SCN_EXPECT(*begin == CharT{'['}); | 6709 | | | 6710 | 6.42k | auto start = begin; | 6711 | 6.42k | ++begin; | 6712 | | | 6713 | 6.42k | if (SCN_UNLIKELY(begin == end)) { | 6714 | | // clang-format off | 6715 | 0 | handler.on_error("Unexpected end of [character set] specifier in format string"); | 6716 | | // clang-format on | 6717 | 0 | return {}; | 6718 | 0 | } | 6719 | 6.42k | if (*begin == CharT{'^'}) { | 6720 | 0 | handler.on_charset_inverted(); | 6721 | 0 | ++begin; | 6722 | 0 | if (SCN_UNLIKELY(begin == end)) { | 6723 | | // clang-format off | 6724 | 0 | handler.on_error("Unexpected end of [character set] specifier in format string"); | 6725 | | // clang-format on | 6726 | 0 | return {}; | 6727 | 0 | } | 6728 | 0 | if (*begin == CharT{']'}) { | 6729 | 0 | handler.on_charset_single(char32_t{']'}); | 6730 | 0 | ++begin; | 6731 | 0 | } | 6732 | 0 | } | 6733 | 6.42k | else if (*begin == CharT{']'}) { | 6734 | 0 | return {start, static_cast<size_t>(std::distance(start, ++begin))}; | 6735 | 0 | } | 6736 | | | 6737 | 19.2k | while (begin != end) { | 6738 | 19.2k | if (SCN_UNLIKELY(!handler)) { | 6739 | 0 | break; | 6740 | 0 | } | 6741 | | | 6742 | 19.2k | if (*begin == CharT{']'}) { | 6743 | 6.42k | return {start, static_cast<size_t>(std::distance(start, ++begin))}; | 6744 | 6.42k | } | 6745 | | | 6746 | 12.8k | parse_presentation_set_literal(begin, end, handler); | 6747 | 12.8k | } | 6748 | | | 6749 | 0 | SCN_UNLIKELY_ATTR | 6750 | 0 | handler.on_error("Invalid [character set] specifier in format string"); | 6751 | 0 | return {}; | 6752 | 6.42k | } |
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&) Line | Count | Source | 6706 | 21.1k | { | 6707 | 21.1k | SCN_EXPECT(begin != end); | 6708 | 21.1k | SCN_EXPECT(*begin == CharT{'['}); | 6709 | | | 6710 | 21.1k | auto start = begin; | 6711 | 21.1k | ++begin; | 6712 | | | 6713 | 21.1k | if (SCN_UNLIKELY(begin == end)) { | 6714 | | // clang-format off | 6715 | 34 | handler.on_error("Unexpected end of [character set] specifier in format string"); | 6716 | | // clang-format on | 6717 | 34 | return {}; | 6718 | 34 | } | 6719 | 21.0k | if (*begin == CharT{'^'}) { | 6720 | 1.29k | handler.on_charset_inverted(); | 6721 | 1.29k | ++begin; | 6722 | 1.29k | if (SCN_UNLIKELY(begin == end)) { | 6723 | | // clang-format off | 6724 | 34 | handler.on_error("Unexpected end of [character set] specifier in format string"); | 6725 | | // clang-format on | 6726 | 34 | return {}; | 6727 | 34 | } | 6728 | 1.26k | if (*begin == CharT{']'}) { | 6729 | 52 | handler.on_charset_single(char32_t{']'}); | 6730 | 52 | ++begin; | 6731 | 52 | } | 6732 | 1.26k | } | 6733 | 19.7k | else if (*begin == CharT{']'}) { | 6734 | 36 | return {start, static_cast<size_t>(std::distance(start, ++begin))}; | 6735 | 36 | } | 6736 | | | 6737 | 77.0k | while (begin != end) { | 6738 | 76.7k | if (SCN_UNLIKELY(!handler)) { | 6739 | 182 | break; | 6740 | 182 | } | 6741 | | | 6742 | 76.5k | if (*begin == CharT{']'}) { | 6743 | 20.5k | return {start, static_cast<size_t>(std::distance(start, ++begin))}; | 6744 | 20.5k | } | 6745 | | | 6746 | 56.0k | parse_presentation_set_literal(begin, end, handler); | 6747 | 56.0k | } | 6748 | | | 6749 | 504 | SCN_UNLIKELY_ATTR | 6750 | 504 | handler.on_error("Invalid [character set] specifier in format string"); | 6751 | 504 | return {}; | 6752 | 21.0k | } |
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&) Line | Count | Source | 6706 | 9.12k | { | 6707 | 9.12k | SCN_EXPECT(begin != end); | 6708 | 9.12k | SCN_EXPECT(*begin == CharT{'['}); | 6709 | | | 6710 | 9.12k | auto start = begin; | 6711 | 9.12k | ++begin; | 6712 | | | 6713 | 9.12k | if (SCN_UNLIKELY(begin == end)) { | 6714 | | // clang-format off | 6715 | 0 | handler.on_error("Unexpected end of [character set] specifier in format string"); | 6716 | | // clang-format on | 6717 | 0 | return {}; | 6718 | 0 | } | 6719 | 9.12k | if (*begin == CharT{'^'}) { | 6720 | 0 | handler.on_charset_inverted(); | 6721 | 0 | ++begin; | 6722 | 0 | if (SCN_UNLIKELY(begin == end)) { | 6723 | | // clang-format off | 6724 | 0 | handler.on_error("Unexpected end of [character set] specifier in format string"); | 6725 | | // clang-format on | 6726 | 0 | return {}; | 6727 | 0 | } | 6728 | 0 | if (*begin == CharT{']'}) { | 6729 | 0 | handler.on_charset_single(char32_t{']'}); | 6730 | 0 | ++begin; | 6731 | 0 | } | 6732 | 0 | } | 6733 | 9.12k | else if (*begin == CharT{']'}) { | 6734 | 0 | return {start, static_cast<size_t>(std::distance(start, ++begin))}; | 6735 | 0 | } | 6736 | | | 6737 | 27.3k | while (begin != end) { | 6738 | 27.3k | if (SCN_UNLIKELY(!handler)) { | 6739 | 0 | break; | 6740 | 0 | } | 6741 | | | 6742 | 27.3k | if (*begin == CharT{']'}) { | 6743 | 9.12k | return {start, static_cast<size_t>(std::distance(start, ++begin))}; | 6744 | 9.12k | } | 6745 | | | 6746 | 18.2k | parse_presentation_set_literal(begin, end, handler); | 6747 | 18.2k | } | 6748 | | | 6749 | 0 | SCN_UNLIKELY_ATTR | 6750 | 0 | handler.on_error("Invalid [character set] specifier in format string"); | 6751 | 0 | return {}; | 6752 | 9.12k | } |
|
6753 | | |
6754 | | template <typename CharT, typename SpecHandler> |
6755 | | constexpr const CharT* parse_presentation_regex(const CharT*& begin, |
6756 | | const CharT* end, |
6757 | | SpecHandler&& handler) |
6758 | 139k | { |
6759 | 139k | #if !SCN_DISABLE_REGEX |
6760 | 139k | SCN_EXPECT(begin != end); |
6761 | 139k | SCN_EXPECT(*begin == CharT{'/'}); |
6762 | | |
6763 | | if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS && |
6764 | | std::is_same_v<CharT, wchar_t>) { |
6765 | | handler.on_error("Regex backend doesn't support wide strings as input"); |
6766 | | return begin; |
6767 | | } |
6768 | | |
6769 | 139k | auto start = begin; |
6770 | 139k | ++begin; |
6771 | | |
6772 | 139k | if (SCN_UNLIKELY(begin == end)) { |
6773 | 68 | handler.on_error("Unexpected end of regex in format string"); |
6774 | 68 | return begin; |
6775 | 68 | } |
6776 | | |
6777 | 139k | handler.on_type(presentation_type::regex); |
6778 | 37.6M | for (; begin != end; ++begin) { |
6779 | 37.6M | if (*begin == CharT{'/'}) { |
6780 | 260k | if (*(begin - 1) != CharT{'\\'}) { |
6781 | 139k | break; |
6782 | 139k | } |
6783 | 120k | else { |
6784 | 120k | handler.on_type(presentation_type::regex_escaped); |
6785 | 120k | } |
6786 | 260k | } |
6787 | 37.6M | } |
6788 | 139k | if (SCN_UNLIKELY(begin == end)) { |
6789 | 408 | handler.on_error("Unexpected end of regex in format string"); |
6790 | 408 | return begin; |
6791 | 408 | } |
6792 | | |
6793 | 139k | auto regex_end = begin; |
6794 | 139k | auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end); |
6795 | 139k | if (SCN_UNLIKELY(regex_pattern.empty())) { |
6796 | 68 | handler.on_error("Invalid (empty) regex in format string"); |
6797 | 68 | return begin; |
6798 | 68 | } |
6799 | 139k | handler.on_regex_pattern(regex_pattern); |
6800 | 139k | ++begin; |
6801 | | |
6802 | 139k | if (SCN_UNLIKELY(begin == end)) { |
6803 | 68 | handler.on_error("Unexpected end of regex in format string"); |
6804 | 68 | return begin; |
6805 | 68 | } |
6806 | | |
6807 | 139k | regex_flags flags{regex_flags::none}; |
6808 | 139k | constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{ |
6809 | 139k | {{'m', regex_flags::multiline}, |
6810 | 139k | {'s', regex_flags::singleline}, |
6811 | 139k | {'i', regex_flags::nocase}, |
6812 | 139k | {'n', regex_flags::nocapture}}}; |
6813 | 165k | for (; begin != end; ++begin) { |
6814 | 165k | if (*begin == CharT{'}'}) { |
6815 | 138k | break; |
6816 | 138k | } |
6817 | 26.6k | bool found_flag = false; |
6818 | 73.7k | for (auto flag : flag_map) { |
6819 | 73.7k | if (static_cast<CharT>(flag.first) != *begin) { |
6820 | 47.3k | continue; |
6821 | 47.3k | } |
6822 | 26.4k | if ((flags & flag.second) != regex_flags::none) { |
6823 | 74 | handler.on_error("Flag set multiple times in regex"); |
6824 | 74 | return begin; |
6825 | 74 | } |
6826 | 26.3k | #if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD |
6827 | 26.3k | if (*begin == CharT{'s'}) { |
6828 | | // clang-format off |
6829 | 94 | handler.on_error("/s flag for regex isn't supported by regex backend"); |
6830 | | // clang-format on |
6831 | 94 | } |
6832 | | #if !SCN_HAS_STD_REGEX_MULTILINE |
6833 | | if (*begin == CharT{'m'}) { |
6834 | | // clang-format off |
6835 | | handler.on_error("/m flag for regex isn't supported by regex backend"); |
6836 | | // clang-format on |
6837 | | } |
6838 | | #endif |
6839 | 26.3k | #endif |
6840 | 26.3k | flags |= flag.second; |
6841 | 26.3k | found_flag = true; |
6842 | 26.3k | break; |
6843 | 26.4k | } |
6844 | 26.5k | if (!found_flag) { |
6845 | 236 | handler.on_error("Invalid flag in regex"); |
6846 | 236 | return begin; |
6847 | 236 | } |
6848 | 26.5k | } |
6849 | 138k | handler.on_regex_flags(flags); |
6850 | | |
6851 | 138k | if (SCN_UNLIKELY(begin == end)) { |
6852 | 102 | handler.on_error("Unexpected end of regex in format string"); |
6853 | 102 | return begin; |
6854 | 102 | } |
6855 | | |
6856 | 138k | return begin; |
6857 | | #else |
6858 | | handler.on_error("Regular expression support is disabled"); |
6859 | | return {}; |
6860 | | #endif |
6861 | 138k | } impl.cpp:char const* scn::v3::detail::parse_presentation_regex<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&) Line | Count | Source | 6758 | 100k | { | 6759 | 100k | #if !SCN_DISABLE_REGEX | 6760 | 100k | SCN_EXPECT(begin != end); | 6761 | 100k | SCN_EXPECT(*begin == CharT{'/'}); | 6762 | | | 6763 | | if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS && | 6764 | | std::is_same_v<CharT, wchar_t>) { | 6765 | | handler.on_error("Regex backend doesn't support wide strings as input"); | 6766 | | return begin; | 6767 | | } | 6768 | | | 6769 | 100k | auto start = begin; | 6770 | 100k | ++begin; | 6771 | | | 6772 | 100k | if (SCN_UNLIKELY(begin == end)) { | 6773 | 34 | handler.on_error("Unexpected end of regex in format string"); | 6774 | 34 | return begin; | 6775 | 34 | } | 6776 | | | 6777 | 100k | handler.on_type(presentation_type::regex); | 6778 | 33.7M | for (; begin != end; ++begin) { | 6779 | 33.7M | if (*begin == CharT{'/'}) { | 6780 | 208k | if (*(begin - 1) != CharT{'\\'}) { | 6781 | 100k | break; | 6782 | 100k | } | 6783 | 108k | else { | 6784 | 108k | handler.on_type(presentation_type::regex_escaped); | 6785 | 108k | } | 6786 | 208k | } | 6787 | 33.7M | } | 6788 | 100k | if (SCN_UNLIKELY(begin == end)) { | 6789 | 236 | handler.on_error("Unexpected end of regex in format string"); | 6790 | 236 | return begin; | 6791 | 236 | } | 6792 | | | 6793 | 100k | auto regex_end = begin; | 6794 | 100k | auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end); | 6795 | 100k | if (SCN_UNLIKELY(regex_pattern.empty())) { | 6796 | 34 | handler.on_error("Invalid (empty) regex in format string"); | 6797 | 34 | return begin; | 6798 | 34 | } | 6799 | 100k | handler.on_regex_pattern(regex_pattern); | 6800 | 100k | ++begin; | 6801 | | | 6802 | 100k | if (SCN_UNLIKELY(begin == end)) { | 6803 | 34 | handler.on_error("Unexpected end of regex in format string"); | 6804 | 34 | return begin; | 6805 | 34 | } | 6806 | | | 6807 | 100k | regex_flags flags{regex_flags::none}; | 6808 | 100k | constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{ | 6809 | 100k | {{'m', regex_flags::multiline}, | 6810 | 100k | {'s', regex_flags::singleline}, | 6811 | 100k | {'i', regex_flags::nocase}, | 6812 | 100k | {'n', regex_flags::nocapture}}}; | 6813 | 120k | for (; begin != end; ++begin) { | 6814 | 120k | if (*begin == CharT{'}'}) { | 6815 | 99.8k | break; | 6816 | 99.8k | } | 6817 | 20.4k | bool found_flag = false; | 6818 | 56.4k | for (auto flag : flag_map) { | 6819 | 56.4k | if (static_cast<CharT>(flag.first) != *begin) { | 6820 | 36.1k | continue; | 6821 | 36.1k | } | 6822 | 20.2k | if ((flags & flag.second) != regex_flags::none) { | 6823 | 34 | handler.on_error("Flag set multiple times in regex"); | 6824 | 34 | return begin; | 6825 | 34 | } | 6826 | 20.2k | #if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD | 6827 | 20.2k | if (*begin == CharT{'s'}) { | 6828 | | // clang-format off | 6829 | 48 | handler.on_error("/s flag for regex isn't supported by regex backend"); | 6830 | | // clang-format on | 6831 | 48 | } | 6832 | | #if !SCN_HAS_STD_REGEX_MULTILINE | 6833 | | if (*begin == CharT{'m'}) { | 6834 | | // clang-format off | 6835 | | handler.on_error("/m flag for regex isn't supported by regex backend"); | 6836 | | // clang-format on | 6837 | | } | 6838 | | #endif | 6839 | 20.2k | #endif | 6840 | 20.2k | flags |= flag.second; | 6841 | 20.2k | found_flag = true; | 6842 | 20.2k | break; | 6843 | 20.2k | } | 6844 | 20.3k | if (!found_flag) { | 6845 | 170 | handler.on_error("Invalid flag in regex"); | 6846 | 170 | return begin; | 6847 | 170 | } | 6848 | 20.3k | } | 6849 | 99.8k | handler.on_regex_flags(flags); | 6850 | | | 6851 | 99.8k | if (SCN_UNLIKELY(begin == end)) { | 6852 | 58 | handler.on_error("Unexpected end of regex in format string"); | 6853 | 58 | return begin; | 6854 | 58 | } | 6855 | | | 6856 | 99.8k | return begin; | 6857 | | #else | 6858 | | handler.on_error("Regular expression support is disabled"); | 6859 | | return {}; | 6860 | | #endif | 6861 | 99.8k | } |
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::parse_presentation_regex<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&) impl.cpp:wchar_t const* scn::v3::detail::parse_presentation_regex<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&) Line | Count | Source | 6758 | 39.4k | { | 6759 | 39.4k | #if !SCN_DISABLE_REGEX | 6760 | 39.4k | SCN_EXPECT(begin != end); | 6761 | 39.4k | SCN_EXPECT(*begin == CharT{'/'}); | 6762 | | | 6763 | | if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS && | 6764 | | std::is_same_v<CharT, wchar_t>) { | 6765 | | handler.on_error("Regex backend doesn't support wide strings as input"); | 6766 | | return begin; | 6767 | | } | 6768 | | | 6769 | 39.4k | auto start = begin; | 6770 | 39.4k | ++begin; | 6771 | | | 6772 | 39.4k | if (SCN_UNLIKELY(begin == end)) { | 6773 | 34 | handler.on_error("Unexpected end of regex in format string"); | 6774 | 34 | return begin; | 6775 | 34 | } | 6776 | | | 6777 | 39.4k | handler.on_type(presentation_type::regex); | 6778 | 3.90M | for (; begin != end; ++begin) { | 6779 | 3.90M | if (*begin == CharT{'/'}) { | 6780 | 51.1k | if (*(begin - 1) != CharT{'\\'}) { | 6781 | 39.2k | break; | 6782 | 39.2k | } | 6783 | 11.8k | else { | 6784 | 11.8k | handler.on_type(presentation_type::regex_escaped); | 6785 | 11.8k | } | 6786 | 51.1k | } | 6787 | 3.90M | } | 6788 | 39.4k | if (SCN_UNLIKELY(begin == end)) { | 6789 | 172 | handler.on_error("Unexpected end of regex in format string"); | 6790 | 172 | return begin; | 6791 | 172 | } | 6792 | | | 6793 | 39.2k | auto regex_end = begin; | 6794 | 39.2k | auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end); | 6795 | 39.2k | if (SCN_UNLIKELY(regex_pattern.empty())) { | 6796 | 34 | handler.on_error("Invalid (empty) regex in format string"); | 6797 | 34 | return begin; | 6798 | 34 | } | 6799 | 39.2k | handler.on_regex_pattern(regex_pattern); | 6800 | 39.2k | ++begin; | 6801 | | | 6802 | 39.2k | if (SCN_UNLIKELY(begin == end)) { | 6803 | 34 | handler.on_error("Unexpected end of regex in format string"); | 6804 | 34 | return begin; | 6805 | 34 | } | 6806 | | | 6807 | 39.1k | regex_flags flags{regex_flags::none}; | 6808 | 39.1k | constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{ | 6809 | 39.1k | {{'m', regex_flags::multiline}, | 6810 | 39.1k | {'s', regex_flags::singleline}, | 6811 | 39.1k | {'i', regex_flags::nocase}, | 6812 | 39.1k | {'n', regex_flags::nocapture}}}; | 6813 | 45.3k | for (; begin != end; ++begin) { | 6814 | 45.2k | if (*begin == CharT{'}'}) { | 6815 | 39.0k | break; | 6816 | 39.0k | } | 6817 | 6.24k | bool found_flag = false; | 6818 | 17.3k | for (auto flag : flag_map) { | 6819 | 17.3k | if (static_cast<CharT>(flag.first) != *begin) { | 6820 | 11.1k | continue; | 6821 | 11.1k | } | 6822 | 6.18k | if ((flags & flag.second) != regex_flags::none) { | 6823 | 40 | handler.on_error("Flag set multiple times in regex"); | 6824 | 40 | return begin; | 6825 | 40 | } | 6826 | 6.14k | #if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD | 6827 | 6.14k | if (*begin == CharT{'s'}) { | 6828 | | // clang-format off | 6829 | 46 | handler.on_error("/s flag for regex isn't supported by regex backend"); | 6830 | | // clang-format on | 6831 | 46 | } | 6832 | | #if !SCN_HAS_STD_REGEX_MULTILINE | 6833 | | if (*begin == CharT{'m'}) { | 6834 | | // clang-format off | 6835 | | handler.on_error("/m flag for regex isn't supported by regex backend"); | 6836 | | // clang-format on | 6837 | | } | 6838 | | #endif | 6839 | 6.14k | #endif | 6840 | 6.14k | flags |= flag.second; | 6841 | 6.14k | found_flag = true; | 6842 | 6.14k | break; | 6843 | 6.18k | } | 6844 | 6.20k | if (!found_flag) { | 6845 | 66 | handler.on_error("Invalid flag in regex"); | 6846 | 66 | return begin; | 6847 | 66 | } | 6848 | 6.20k | } | 6849 | 39.0k | handler.on_regex_flags(flags); | 6850 | | | 6851 | 39.0k | if (SCN_UNLIKELY(begin == end)) { | 6852 | 44 | handler.on_error("Unexpected end of regex in format string"); | 6853 | 44 | return begin; | 6854 | 44 | } | 6855 | | | 6856 | 39.0k | return begin; | 6857 | | #else | 6858 | | handler.on_error("Regular expression support is disabled"); | 6859 | | return {}; | 6860 | | #endif | 6861 | 39.0k | } |
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::parse_presentation_regex<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&) |
6862 | | |
6863 | | template <typename CharT, typename SpecHandler> |
6864 | | constexpr const CharT* parse_format_specs(const CharT* begin, |
6865 | | const CharT* end, |
6866 | | SpecHandler&& handler) |
6867 | 12.1M | { |
6868 | 12.1M | auto do_presentation = [&]() -> const CharT* { |
6869 | 10.3M | if (*begin == CharT{'['}) { |
6870 | 65.5k | auto set = parse_presentation_set(begin, end, handler); |
6871 | 65.5k | if (SCN_UNLIKELY(set.size() <= 2)) { |
6872 | | // clang-format off |
6873 | 1.42k | handler.on_error("Invalid (empty) [character set] specifier in format string"); |
6874 | | // clang-format on |
6875 | 1.42k | return begin; |
6876 | 1.42k | } |
6877 | 64.1k | handler.on_character_set_string(set); |
6878 | 64.1k | return begin; |
6879 | 65.5k | } |
6880 | 10.2M | if (*begin == CharT{'/'}) { |
6881 | 139k | return parse_presentation_regex(begin, end, handler); |
6882 | 139k | } |
6883 | 10.1M | presentation_type type = parse_presentation_type(*begin++); |
6884 | 10.1M | if (SCN_UNLIKELY(type == presentation_type::none)) { |
6885 | 341k | handler.on_error("Invalid type specifier in format string"); |
6886 | 341k | return begin; |
6887 | 341k | } |
6888 | 9.77M | handler.on_type(type); |
6889 | 9.77M | return begin; |
6890 | 10.1M | }; impl.cpp:scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)::{lambda()#1}::operator()() constLine | Count | Source | 6868 | 2.62M | auto do_presentation = [&]() -> const CharT* { | 6869 | 2.62M | if (*begin == CharT{'['}) { | 6870 | 28.8k | auto set = parse_presentation_set(begin, end, handler); | 6871 | 28.8k | if (SCN_UNLIKELY(set.size() <= 2)) { | 6872 | | // clang-format off | 6873 | 816 | handler.on_error("Invalid (empty) [character set] specifier in format string"); | 6874 | | // clang-format on | 6875 | 816 | return begin; | 6876 | 816 | } | 6877 | 28.0k | handler.on_character_set_string(set); | 6878 | 28.0k | return begin; | 6879 | 28.8k | } | 6880 | 2.59M | if (*begin == CharT{'/'}) { | 6881 | 100k | return parse_presentation_regex(begin, end, handler); | 6882 | 100k | } | 6883 | 2.49M | presentation_type type = parse_presentation_type(*begin++); | 6884 | 2.49M | if (SCN_UNLIKELY(type == presentation_type::none)) { | 6885 | 59.9k | handler.on_error("Invalid type specifier in format string"); | 6886 | 59.9k | return begin; | 6887 | 59.9k | } | 6888 | 2.43M | handler.on_type(type); | 6889 | 2.43M | return begin; | 6890 | 2.49M | }; |
impl.cpp:scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)::{lambda()#1}::operator()() constLine | Count | Source | 6868 | 2.55M | auto do_presentation = [&]() -> const CharT* { | 6869 | 2.55M | if (*begin == CharT{'['}) { | 6870 | 6.42k | auto set = parse_presentation_set(begin, end, handler); | 6871 | 6.42k | if (SCN_UNLIKELY(set.size() <= 2)) { | 6872 | | // clang-format off | 6873 | 0 | handler.on_error("Invalid (empty) [character set] specifier in format string"); | 6874 | | // clang-format on | 6875 | 0 | return begin; | 6876 | 0 | } | 6877 | 6.42k | handler.on_character_set_string(set); | 6878 | 6.42k | return begin; | 6879 | 6.42k | } | 6880 | 2.55M | if (*begin == CharT{'/'}) { | 6881 | 0 | return parse_presentation_regex(begin, end, handler); | 6882 | 0 | } | 6883 | 2.55M | presentation_type type = parse_presentation_type(*begin++); | 6884 | 2.55M | if (SCN_UNLIKELY(type == presentation_type::none)) { | 6885 | 54.4k | handler.on_error("Invalid type specifier in format string"); | 6886 | 54.4k | return begin; | 6887 | 54.4k | } | 6888 | 2.49M | handler.on_type(type); | 6889 | 2.49M | return begin; | 6890 | 2.55M | }; |
impl.cpp:scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)::{lambda()#1}::operator()() constLine | Count | Source | 6868 | 3.14M | auto do_presentation = [&]() -> const CharT* { | 6869 | 3.14M | if (*begin == CharT{'['}) { | 6870 | 21.1k | auto set = parse_presentation_set(begin, end, handler); | 6871 | 21.1k | if (SCN_UNLIKELY(set.size() <= 2)) { | 6872 | | // clang-format off | 6873 | 608 | handler.on_error("Invalid (empty) [character set] specifier in format string"); | 6874 | | // clang-format on | 6875 | 608 | return begin; | 6876 | 608 | } | 6877 | 20.5k | handler.on_character_set_string(set); | 6878 | 20.5k | return begin; | 6879 | 21.1k | } | 6880 | 3.12M | if (*begin == CharT{'/'}) { | 6881 | 39.4k | return parse_presentation_regex(begin, end, handler); | 6882 | 39.4k | } | 6883 | 3.08M | presentation_type type = parse_presentation_type(*begin++); | 6884 | 3.08M | if (SCN_UNLIKELY(type == presentation_type::none)) { | 6885 | 118k | handler.on_error("Invalid type specifier in format string"); | 6886 | 118k | return begin; | 6887 | 118k | } | 6888 | 2.96M | handler.on_type(type); | 6889 | 2.96M | return begin; | 6890 | 3.08M | }; |
impl.cpp:scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)::{lambda()#1}::operator()() constLine | Count | Source | 6868 | 1.99M | auto do_presentation = [&]() -> const CharT* { | 6869 | 1.99M | if (*begin == CharT{'['}) { | 6870 | 9.12k | auto set = parse_presentation_set(begin, end, handler); | 6871 | 9.12k | if (SCN_UNLIKELY(set.size() <= 2)) { | 6872 | | // clang-format off | 6873 | 0 | handler.on_error("Invalid (empty) [character set] specifier in format string"); | 6874 | | // clang-format on | 6875 | 0 | return begin; | 6876 | 0 | } | 6877 | 9.12k | handler.on_character_set_string(set); | 6878 | 9.12k | return begin; | 6879 | 9.12k | } | 6880 | 1.98M | if (*begin == CharT{'/'}) { | 6881 | 0 | return parse_presentation_regex(begin, end, handler); | 6882 | 0 | } | 6883 | 1.98M | presentation_type type = parse_presentation_type(*begin++); | 6884 | 1.98M | if (SCN_UNLIKELY(type == presentation_type::none)) { | 6885 | 108k | handler.on_error("Invalid type specifier in format string"); | 6886 | 108k | return begin; | 6887 | 108k | } | 6888 | 1.87M | handler.on_type(type); | 6889 | 1.87M | return begin; | 6890 | 1.98M | }; |
|
6891 | | |
6892 | 12.1M | if (end - begin > 1 && *(begin + 1) == CharT{'}'} && |
6893 | 12.1M | is_ascii_letter(*begin) && *begin != CharT{'L'}) { |
6894 | 9.57M | return do_presentation(); |
6895 | 9.57M | } |
6896 | | |
6897 | 2.55M | if (SCN_UNLIKELY(begin == end)) { |
6898 | 0 | handler.on_error("Unexpected end of format string"); |
6899 | 0 | return begin; |
6900 | 0 | } |
6901 | | |
6902 | 2.55M | begin = parse_align(begin, end, handler); |
6903 | 2.55M | if (SCN_UNLIKELY(begin == end)) { |
6904 | 228 | handler.on_error("Unexpected end of format string"); |
6905 | 228 | return begin; |
6906 | 228 | } |
6907 | | |
6908 | 2.55M | begin = parse_width(begin, end, handler); |
6909 | 2.55M | if (SCN_UNLIKELY(begin == end)) { |
6910 | 200 | handler.on_error("Unexpected end of format string"); |
6911 | 200 | return begin; |
6912 | 200 | } |
6913 | | |
6914 | 2.55M | if (*begin == CharT{'.'}) { |
6915 | 15.9k | ++begin; |
6916 | 15.9k | if (SCN_UNLIKELY(begin == end)) { |
6917 | 68 | handler.on_error("Unexpected end of format string"); |
6918 | 68 | return begin; |
6919 | 68 | } |
6920 | 15.9k | begin = parse_precision(begin, end, handler); |
6921 | 15.9k | if (SCN_UNLIKELY(begin == end)) { |
6922 | 232 | handler.on_error("Unexpected end of format string"); |
6923 | 232 | return begin; |
6924 | 232 | } |
6925 | 15.9k | } |
6926 | | |
6927 | 2.55M | if (*begin == CharT{'L'}) { |
6928 | 1.80M | handler.on_localized(); |
6929 | 1.80M | ++begin; |
6930 | 1.80M | } |
6931 | 2.55M | if (SCN_UNLIKELY(begin == end)) { |
6932 | 104 | handler.on_error("Unexpected end of format string"); |
6933 | 104 | return begin; |
6934 | 104 | } |
6935 | | |
6936 | 2.55M | if (begin != end && *begin != CharT{'}'}) { |
6937 | 743k | do_presentation(); |
6938 | 743k | } |
6939 | 2.55M | if (SCN_UNLIKELY(begin == end)) { |
6940 | 3.85k | handler.on_error("Unexpected end of format string"); |
6941 | 3.85k | return begin; |
6942 | 3.85k | } |
6943 | | |
6944 | 2.54M | return begin; |
6945 | 2.55M | } impl.cpp:char const* scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&) Line | Count | Source | 6867 | 3.27M | { | 6868 | 3.27M | auto do_presentation = [&]() -> const CharT* { | 6869 | 3.27M | if (*begin == CharT{'['}) { | 6870 | 3.27M | auto set = parse_presentation_set(begin, end, handler); | 6871 | 3.27M | if (SCN_UNLIKELY(set.size() <= 2)) { | 6872 | | // clang-format off | 6873 | 3.27M | handler.on_error("Invalid (empty) [character set] specifier in format string"); | 6874 | | // clang-format on | 6875 | 3.27M | return begin; | 6876 | 3.27M | } | 6877 | 3.27M | handler.on_character_set_string(set); | 6878 | 3.27M | return begin; | 6879 | 3.27M | } | 6880 | 3.27M | if (*begin == CharT{'/'}) { | 6881 | 3.27M | return parse_presentation_regex(begin, end, handler); | 6882 | 3.27M | } | 6883 | 3.27M | presentation_type type = parse_presentation_type(*begin++); | 6884 | 3.27M | if (SCN_UNLIKELY(type == presentation_type::none)) { | 6885 | 3.27M | handler.on_error("Invalid type specifier in format string"); | 6886 | 3.27M | return begin; | 6887 | 3.27M | } | 6888 | 3.27M | handler.on_type(type); | 6889 | 3.27M | return begin; | 6890 | 3.27M | }; | 6891 | | | 6892 | 3.27M | if (end - begin > 1 && *(begin + 1) == CharT{'}'} && | 6893 | 3.27M | is_ascii_letter(*begin) && *begin != CharT{'L'}) { | 6894 | 2.39M | return do_presentation(); | 6895 | 2.39M | } | 6896 | | | 6897 | 878k | if (SCN_UNLIKELY(begin == end)) { | 6898 | 0 | handler.on_error("Unexpected end of format string"); | 6899 | 0 | return begin; | 6900 | 0 | } | 6901 | | | 6902 | 878k | begin = parse_align(begin, end, handler); | 6903 | 878k | if (SCN_UNLIKELY(begin == end)) { | 6904 | 126 | handler.on_error("Unexpected end of format string"); | 6905 | 126 | return begin; | 6906 | 126 | } | 6907 | | | 6908 | 878k | begin = parse_width(begin, end, handler); | 6909 | 878k | if (SCN_UNLIKELY(begin == end)) { | 6910 | 102 | handler.on_error("Unexpected end of format string"); | 6911 | 102 | return begin; | 6912 | 102 | } | 6913 | | | 6914 | 878k | if (*begin == CharT{'.'}) { | 6915 | 12.0k | ++begin; | 6916 | 12.0k | if (SCN_UNLIKELY(begin == end)) { | 6917 | 34 | handler.on_error("Unexpected end of format string"); | 6918 | 34 | return begin; | 6919 | 34 | } | 6920 | 11.9k | begin = parse_precision(begin, end, handler); | 6921 | 11.9k | if (SCN_UNLIKELY(begin == end)) { | 6922 | 114 | handler.on_error("Unexpected end of format string"); | 6923 | 114 | return begin; | 6924 | 114 | } | 6925 | 11.9k | } | 6926 | | | 6927 | 878k | if (*begin == CharT{'L'}) { | 6928 | 647k | handler.on_localized(); | 6929 | 647k | ++begin; | 6930 | 647k | } | 6931 | 878k | if (SCN_UNLIKELY(begin == end)) { | 6932 | 52 | handler.on_error("Unexpected end of format string"); | 6933 | 52 | return begin; | 6934 | 52 | } | 6935 | | | 6936 | 878k | if (begin != end && *begin != CharT{'}'}) { | 6937 | 226k | do_presentation(); | 6938 | 226k | } | 6939 | 878k | if (SCN_UNLIKELY(begin == end)) { | 6940 | 2.08k | handler.on_error("Unexpected end of format string"); | 6941 | 2.08k | return begin; | 6942 | 2.08k | } | 6943 | | | 6944 | 876k | return begin; | 6945 | 878k | } |
impl.cpp:char const* scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&) Line | Count | Source | 6867 | 3.26M | { | 6868 | 3.26M | auto do_presentation = [&]() -> const CharT* { | 6869 | 3.26M | if (*begin == CharT{'['}) { | 6870 | 3.26M | auto set = parse_presentation_set(begin, end, handler); | 6871 | 3.26M | if (SCN_UNLIKELY(set.size() <= 2)) { | 6872 | | // clang-format off | 6873 | 3.26M | handler.on_error("Invalid (empty) [character set] specifier in format string"); | 6874 | | // clang-format on | 6875 | 3.26M | return begin; | 6876 | 3.26M | } | 6877 | 3.26M | handler.on_character_set_string(set); | 6878 | 3.26M | return begin; | 6879 | 3.26M | } | 6880 | 3.26M | if (*begin == CharT{'/'}) { | 6881 | 3.26M | return parse_presentation_regex(begin, end, handler); | 6882 | 3.26M | } | 6883 | 3.26M | presentation_type type = parse_presentation_type(*begin++); | 6884 | 3.26M | if (SCN_UNLIKELY(type == presentation_type::none)) { | 6885 | 3.26M | handler.on_error("Invalid type specifier in format string"); | 6886 | 3.26M | return begin; | 6887 | 3.26M | } | 6888 | 3.26M | handler.on_type(type); | 6889 | 3.26M | return begin; | 6890 | 3.26M | }; | 6891 | | | 6892 | 3.26M | if (end - begin > 1 && *(begin + 1) == CharT{'}'} && | 6893 | 3.26M | is_ascii_letter(*begin) && *begin != CharT{'L'}) { | 6894 | 2.46M | return do_presentation(); | 6895 | 2.46M | } | 6896 | | | 6897 | 800k | if (SCN_UNLIKELY(begin == end)) { | 6898 | 0 | handler.on_error("Unexpected end of format string"); | 6899 | 0 | return begin; | 6900 | 0 | } | 6901 | | | 6902 | 800k | begin = parse_align(begin, end, handler); | 6903 | 800k | if (SCN_UNLIKELY(begin == end)) { | 6904 | 0 | handler.on_error("Unexpected end of format string"); | 6905 | 0 | return begin; | 6906 | 0 | } | 6907 | | | 6908 | 800k | begin = parse_width(begin, end, handler); | 6909 | 800k | if (SCN_UNLIKELY(begin == end)) { | 6910 | 0 | handler.on_error("Unexpected end of format string"); | 6911 | 0 | return begin; | 6912 | 0 | } | 6913 | | | 6914 | 800k | if (*begin == CharT{'.'}) { | 6915 | 0 | ++begin; | 6916 | 0 | if (SCN_UNLIKELY(begin == end)) { | 6917 | 0 | handler.on_error("Unexpected end of format string"); | 6918 | 0 | return begin; | 6919 | 0 | } | 6920 | 0 | begin = parse_precision(begin, end, handler); | 6921 | 0 | if (SCN_UNLIKELY(begin == end)) { | 6922 | 0 | handler.on_error("Unexpected end of format string"); | 6923 | 0 | return begin; | 6924 | 0 | } | 6925 | 0 | } | 6926 | | | 6927 | 800k | if (*begin == CharT{'L'}) { | 6928 | 709k | handler.on_localized(); | 6929 | 709k | ++begin; | 6930 | 709k | } | 6931 | 800k | if (SCN_UNLIKELY(begin == end)) { | 6932 | 0 | handler.on_error("Unexpected end of format string"); | 6933 | 0 | return begin; | 6934 | 0 | } | 6935 | | | 6936 | 800k | if (begin != end && *begin != CharT{'}'}) { | 6937 | 90.3k | do_presentation(); | 6938 | 90.3k | } | 6939 | 800k | if (SCN_UNLIKELY(begin == end)) { | 6940 | 0 | handler.on_error("Unexpected end of format string"); | 6941 | 0 | return begin; | 6942 | 0 | } | 6943 | | | 6944 | 800k | return begin; | 6945 | 800k | } |
impl.cpp:wchar_t const* scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&) Line | Count | Source | 6867 | 3.37M | { | 6868 | 3.37M | auto do_presentation = [&]() -> const CharT* { | 6869 | 3.37M | if (*begin == CharT{'['}) { | 6870 | 3.37M | auto set = parse_presentation_set(begin, end, handler); | 6871 | 3.37M | if (SCN_UNLIKELY(set.size() <= 2)) { | 6872 | | // clang-format off | 6873 | 3.37M | handler.on_error("Invalid (empty) [character set] specifier in format string"); | 6874 | | // clang-format on | 6875 | 3.37M | return begin; | 6876 | 3.37M | } | 6877 | 3.37M | handler.on_character_set_string(set); | 6878 | 3.37M | return begin; | 6879 | 3.37M | } | 6880 | 3.37M | if (*begin == CharT{'/'}) { | 6881 | 3.37M | return parse_presentation_regex(begin, end, handler); | 6882 | 3.37M | } | 6883 | 3.37M | presentation_type type = parse_presentation_type(*begin++); | 6884 | 3.37M | if (SCN_UNLIKELY(type == presentation_type::none)) { | 6885 | 3.37M | handler.on_error("Invalid type specifier in format string"); | 6886 | 3.37M | return begin; | 6887 | 3.37M | } | 6888 | 3.37M | handler.on_type(type); | 6889 | 3.37M | return begin; | 6890 | 3.37M | }; | 6891 | | | 6892 | 3.37M | if (end - begin > 1 && *(begin + 1) == CharT{'}'} && | 6893 | 3.37M | is_ascii_letter(*begin) && *begin != CharT{'L'}) { | 6894 | 2.89M | return do_presentation(); | 6895 | 2.89M | } | 6896 | | | 6897 | 480k | if (SCN_UNLIKELY(begin == end)) { | 6898 | 0 | handler.on_error("Unexpected end of format string"); | 6899 | 0 | return begin; | 6900 | 0 | } | 6901 | | | 6902 | 480k | begin = parse_align(begin, end, handler); | 6903 | 480k | if (SCN_UNLIKELY(begin == end)) { | 6904 | 102 | handler.on_error("Unexpected end of format string"); | 6905 | 102 | return begin; | 6906 | 102 | } | 6907 | | | 6908 | 480k | begin = parse_width(begin, end, handler); | 6909 | 480k | if (SCN_UNLIKELY(begin == end)) { | 6910 | 98 | handler.on_error("Unexpected end of format string"); | 6911 | 98 | return begin; | 6912 | 98 | } | 6913 | | | 6914 | 480k | if (*begin == CharT{'.'}) { | 6915 | 3.95k | ++begin; | 6916 | 3.95k | if (SCN_UNLIKELY(begin == end)) { | 6917 | 34 | handler.on_error("Unexpected end of format string"); | 6918 | 34 | return begin; | 6919 | 34 | } | 6920 | 3.91k | begin = parse_precision(begin, end, handler); | 6921 | 3.91k | if (SCN_UNLIKELY(begin == end)) { | 6922 | 118 | handler.on_error("Unexpected end of format string"); | 6923 | 118 | return begin; | 6924 | 118 | } | 6925 | 3.91k | } | 6926 | | | 6927 | 480k | if (*begin == CharT{'L'}) { | 6928 | 226k | handler.on_localized(); | 6929 | 226k | ++begin; | 6930 | 226k | } | 6931 | 480k | if (SCN_UNLIKELY(begin == end)) { | 6932 | 52 | handler.on_error("Unexpected end of format string"); | 6933 | 52 | return begin; | 6934 | 52 | } | 6935 | | | 6936 | 480k | if (begin != end && *begin != CharT{'}'}) { | 6937 | 249k | do_presentation(); | 6938 | 249k | } | 6939 | 480k | if (SCN_UNLIKELY(begin == end)) { | 6940 | 1.77k | handler.on_error("Unexpected end of format string"); | 6941 | 1.77k | return begin; | 6942 | 1.77k | } | 6943 | | | 6944 | 478k | return begin; | 6945 | 480k | } |
impl.cpp:wchar_t const* scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&) Line | Count | Source | 6867 | 2.21M | { | 6868 | 2.21M | auto do_presentation = [&]() -> const CharT* { | 6869 | 2.21M | if (*begin == CharT{'['}) { | 6870 | 2.21M | auto set = parse_presentation_set(begin, end, handler); | 6871 | 2.21M | if (SCN_UNLIKELY(set.size() <= 2)) { | 6872 | | // clang-format off | 6873 | 2.21M | handler.on_error("Invalid (empty) [character set] specifier in format string"); | 6874 | | // clang-format on | 6875 | 2.21M | return begin; | 6876 | 2.21M | } | 6877 | 2.21M | handler.on_character_set_string(set); | 6878 | 2.21M | return begin; | 6879 | 2.21M | } | 6880 | 2.21M | if (*begin == CharT{'/'}) { | 6881 | 2.21M | return parse_presentation_regex(begin, end, handler); | 6882 | 2.21M | } | 6883 | 2.21M | presentation_type type = parse_presentation_type(*begin++); | 6884 | 2.21M | if (SCN_UNLIKELY(type == presentation_type::none)) { | 6885 | 2.21M | handler.on_error("Invalid type specifier in format string"); | 6886 | 2.21M | return begin; | 6887 | 2.21M | } | 6888 | 2.21M | handler.on_type(type); | 6889 | 2.21M | return begin; | 6890 | 2.21M | }; | 6891 | | | 6892 | 2.21M | if (end - begin > 1 && *(begin + 1) == CharT{'}'} && | 6893 | 2.21M | is_ascii_letter(*begin) && *begin != CharT{'L'}) { | 6894 | 1.81M | return do_presentation(); | 6895 | 1.81M | } | 6896 | | | 6897 | 394k | if (SCN_UNLIKELY(begin == end)) { | 6898 | 0 | handler.on_error("Unexpected end of format string"); | 6899 | 0 | return begin; | 6900 | 0 | } | 6901 | | | 6902 | 394k | begin = parse_align(begin, end, handler); | 6903 | 394k | if (SCN_UNLIKELY(begin == end)) { | 6904 | 0 | handler.on_error("Unexpected end of format string"); | 6905 | 0 | return begin; | 6906 | 0 | } | 6907 | | | 6908 | 394k | begin = parse_width(begin, end, handler); | 6909 | 394k | if (SCN_UNLIKELY(begin == end)) { | 6910 | 0 | handler.on_error("Unexpected end of format string"); | 6911 | 0 | return begin; | 6912 | 0 | } | 6913 | | | 6914 | 394k | if (*begin == CharT{'.'}) { | 6915 | 0 | ++begin; | 6916 | 0 | if (SCN_UNLIKELY(begin == end)) { | 6917 | 0 | handler.on_error("Unexpected end of format string"); | 6918 | 0 | return begin; | 6919 | 0 | } | 6920 | 0 | begin = parse_precision(begin, end, handler); | 6921 | 0 | if (SCN_UNLIKELY(begin == end)) { | 6922 | 0 | handler.on_error("Unexpected end of format string"); | 6923 | 0 | return begin; | 6924 | 0 | } | 6925 | 0 | } | 6926 | | | 6927 | 394k | if (*begin == CharT{'L'}) { | 6928 | 217k | handler.on_localized(); | 6929 | 217k | ++begin; | 6930 | 217k | } | 6931 | 394k | if (SCN_UNLIKELY(begin == end)) { | 6932 | 0 | handler.on_error("Unexpected end of format string"); | 6933 | 0 | return begin; | 6934 | 0 | } | 6935 | | | 6936 | 394k | if (begin != end && *begin != CharT{'}'}) { | 6937 | 176k | do_presentation(); | 6938 | 176k | } | 6939 | 394k | if (SCN_UNLIKELY(begin == end)) { | 6940 | 0 | handler.on_error("Unexpected end of format string"); | 6941 | 0 | return begin; | 6942 | 0 | } | 6943 | | | 6944 | 394k | return begin; | 6945 | 394k | } |
|
6946 | | |
6947 | | template <typename CharT, typename Handler> |
6948 | | constexpr const CharT* parse_replacement_field(const CharT* begin, |
6949 | | const CharT* end, |
6950 | | Handler& handler) |
6951 | 12.3M | { |
6952 | 12.3M | struct id_adapter { |
6953 | 12.3M | constexpr void operator()() |
6954 | 12.3M | { |
6955 | 12.1M | arg_id = handler.on_arg_id(); |
6956 | 12.1M | } impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()() Line | Count | Source | 6954 | 3.26M | { | 6955 | 3.26M | arg_id = handler.on_arg_id(); | 6956 | 3.26M | } |
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()() Line | Count | Source | 6954 | 3.26M | { | 6955 | 3.26M | arg_id = handler.on_arg_id(); | 6956 | 3.26M | } |
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()() Line | Count | Source | 6954 | 3.37M | { | 6955 | 3.37M | arg_id = handler.on_arg_id(); | 6956 | 3.37M | } |
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()() Line | Count | Source | 6954 | 2.21M | { | 6955 | 2.21M | arg_id = handler.on_arg_id(); | 6956 | 2.21M | } |
|
6957 | 12.3M | constexpr void operator()(std::size_t id) |
6958 | 12.3M | { |
6959 | 8.69k | arg_id = handler.on_arg_id(id); |
6960 | 8.69k | } impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long) Line | Count | Source | 6958 | 8.09k | { | 6959 | 8.09k | arg_id = handler.on_arg_id(id); | 6960 | 8.09k | } |
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long) impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long) Line | Count | Source | 6958 | 592 | { | 6959 | 592 | arg_id = handler.on_arg_id(id); | 6960 | 592 | } |
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long) |
6961 | | |
6962 | 12.3M | constexpr void on_error(const char* msg) |
6963 | 12.3M | { |
6964 | 249k | SCN_UNLIKELY_ATTR |
6965 | 249k | handler.on_error(msg); |
6966 | 249k | } impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*) Line | Count | Source | 6963 | 56.4k | { | 6964 | 56.4k | SCN_UNLIKELY_ATTR | 6965 | 56.4k | handler.on_error(msg); | 6966 | 56.4k | } |
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*) impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*) Line | Count | Source | 6963 | 192k | { | 6964 | 192k | SCN_UNLIKELY_ATTR | 6965 | 192k | handler.on_error(msg); | 6966 | 192k | } |
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*) |
6967 | | |
6968 | 12.3M | Handler& handler; |
6969 | 12.3M | std::size_t arg_id; |
6970 | 12.3M | }; |
6971 | | |
6972 | 12.3M | ++begin; |
6973 | 12.3M | if (SCN_UNLIKELY(begin == end)) { |
6974 | 216 | handler.on_error("Unexpected end of replacement field"); |
6975 | 216 | return begin; |
6976 | 216 | } |
6977 | | |
6978 | 12.3M | if (*begin == CharT{'}'}) { |
6979 | 11.3k | handler.on_replacement_field(handler.on_arg_id(), begin); |
6980 | 11.3k | } |
6981 | 12.3M | else if (*begin == CharT{'{'}) { |
6982 | 6.02k | handler.on_literal_text(begin, begin + 1); |
6983 | 6.02k | } |
6984 | 12.3M | else { |
6985 | 12.3M | auto adapter = id_adapter{handler, 0}; |
6986 | 12.3M | begin = parse_arg_id(begin, end, adapter); |
6987 | | |
6988 | 12.3M | if (SCN_UNLIKELY(begin == end)) { |
6989 | 230 | handler.on_error("Missing '}' in format string"); |
6990 | 230 | return begin; |
6991 | 230 | } |
6992 | | |
6993 | 12.3M | if (*begin == CharT{'}'}) { |
6994 | 596 | handler.on_replacement_field(adapter.arg_id, begin); |
6995 | 596 | } |
6996 | 12.3M | else if (*begin == CharT{':'}) { |
6997 | 12.1M | if (SCN_UNLIKELY(begin + 1 == end)) { |
6998 | 124 | handler.on_error("Unexpected end of replacement field"); |
6999 | 124 | return begin; |
7000 | 124 | } |
7001 | 12.1M | begin = handler.on_format_specs(adapter.arg_id, begin + 1, end); |
7002 | 12.1M | if (SCN_UNLIKELY(begin == end || *begin != '}')) { |
7003 | 536k | handler.on_error("Unknown format specifier"); |
7004 | 536k | return begin; |
7005 | 536k | } |
7006 | 12.1M | } |
7007 | 249k | else { |
7008 | 249k | SCN_UNLIKELY_ATTR |
7009 | 249k | handler.on_error("Missing '}' in format string"); |
7010 | 249k | return begin; |
7011 | 249k | } |
7012 | 12.3M | } |
7013 | 11.6M | return begin + 1; |
7014 | 12.3M | } impl.cpp:char const* scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&) Line | Count | Source | 6951 | 3.34M | { | 6952 | 3.34M | struct id_adapter { | 6953 | 3.34M | constexpr void operator()() | 6954 | 3.34M | { | 6955 | 3.34M | arg_id = handler.on_arg_id(); | 6956 | 3.34M | } | 6957 | 3.34M | constexpr void operator()(std::size_t id) | 6958 | 3.34M | { | 6959 | 3.34M | arg_id = handler.on_arg_id(id); | 6960 | 3.34M | } | 6961 | | | 6962 | 3.34M | constexpr void on_error(const char* msg) | 6963 | 3.34M | { | 6964 | 3.34M | SCN_UNLIKELY_ATTR | 6965 | 3.34M | handler.on_error(msg); | 6966 | 3.34M | } | 6967 | | | 6968 | 3.34M | Handler& handler; | 6969 | 3.34M | std::size_t arg_id; | 6970 | 3.34M | }; | 6971 | | | 6972 | 3.34M | ++begin; | 6973 | 3.34M | if (SCN_UNLIKELY(begin == end)) { | 6974 | 128 | handler.on_error("Unexpected end of replacement field"); | 6975 | 128 | return begin; | 6976 | 128 | } | 6977 | | | 6978 | 3.34M | if (*begin == CharT{'}'}) { | 6979 | 5.87k | handler.on_replacement_field(handler.on_arg_id(), begin); | 6980 | 5.87k | } | 6981 | 3.33M | else if (*begin == CharT{'{'}) { | 6982 | 5.78k | handler.on_literal_text(begin, begin + 1); | 6983 | 5.78k | } | 6984 | 3.33M | else { | 6985 | 3.33M | auto adapter = id_adapter{handler, 0}; | 6986 | 3.33M | begin = parse_arg_id(begin, end, adapter); | 6987 | | | 6988 | 3.33M | if (SCN_UNLIKELY(begin == end)) { | 6989 | 110 | handler.on_error("Missing '}' in format string"); | 6990 | 110 | return begin; | 6991 | 110 | } | 6992 | | | 6993 | 3.33M | if (*begin == CharT{'}'}) { | 6994 | 302 | handler.on_replacement_field(adapter.arg_id, begin); | 6995 | 302 | } | 6996 | 3.33M | else if (*begin == CharT{':'}) { | 6997 | 3.27M | if (SCN_UNLIKELY(begin + 1 == end)) { | 6998 | 74 | handler.on_error("Unexpected end of replacement field"); | 6999 | 74 | return begin; | 7000 | 74 | } | 7001 | 3.27M | begin = handler.on_format_specs(adapter.arg_id, begin + 1, end); | 7002 | 3.27M | if (SCN_UNLIKELY(begin == end || *begin != '}')) { | 7003 | 96.5k | handler.on_error("Unknown format specifier"); | 7004 | 96.5k | return begin; | 7005 | 96.5k | } | 7006 | 3.27M | } | 7007 | 56.3k | else { | 7008 | 56.3k | SCN_UNLIKELY_ATTR | 7009 | 56.3k | handler.on_error("Missing '}' in format string"); | 7010 | 56.3k | return begin; | 7011 | 56.3k | } | 7012 | 3.33M | } | 7013 | 3.18M | return begin + 1; | 7014 | 3.34M | } |
impl.cpp:char const* scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&) Line | Count | Source | 6951 | 3.26M | { | 6952 | 3.26M | struct id_adapter { | 6953 | 3.26M | constexpr void operator()() | 6954 | 3.26M | { | 6955 | 3.26M | arg_id = handler.on_arg_id(); | 6956 | 3.26M | } | 6957 | 3.26M | constexpr void operator()(std::size_t id) | 6958 | 3.26M | { | 6959 | 3.26M | arg_id = handler.on_arg_id(id); | 6960 | 3.26M | } | 6961 | | | 6962 | 3.26M | constexpr void on_error(const char* msg) | 6963 | 3.26M | { | 6964 | 3.26M | SCN_UNLIKELY_ATTR | 6965 | 3.26M | handler.on_error(msg); | 6966 | 3.26M | } | 6967 | | | 6968 | 3.26M | Handler& handler; | 6969 | 3.26M | std::size_t arg_id; | 6970 | 3.26M | }; | 6971 | | | 6972 | 3.26M | ++begin; | 6973 | 3.26M | if (SCN_UNLIKELY(begin == end)) { | 6974 | 0 | handler.on_error("Unexpected end of replacement field"); | 6975 | 0 | return begin; | 6976 | 0 | } | 6977 | | | 6978 | 3.26M | if (*begin == CharT{'}'}) { | 6979 | 0 | handler.on_replacement_field(handler.on_arg_id(), begin); | 6980 | 0 | } | 6981 | 3.26M | else if (*begin == CharT{'{'}) { | 6982 | 0 | handler.on_literal_text(begin, begin + 1); | 6983 | 0 | } | 6984 | 3.26M | else { | 6985 | 3.26M | auto adapter = id_adapter{handler, 0}; | 6986 | 3.26M | begin = parse_arg_id(begin, end, adapter); | 6987 | | | 6988 | 3.26M | if (SCN_UNLIKELY(begin == end)) { | 6989 | 0 | handler.on_error("Missing '}' in format string"); | 6990 | 0 | return begin; | 6991 | 0 | } | 6992 | | | 6993 | 3.26M | if (*begin == CharT{'}'}) { | 6994 | 0 | handler.on_replacement_field(adapter.arg_id, begin); | 6995 | 0 | } | 6996 | 3.26M | else if (*begin == CharT{':'}) { | 6997 | 3.26M | if (SCN_UNLIKELY(begin + 1 == end)) { | 6998 | 0 | handler.on_error("Unexpected end of replacement field"); | 6999 | 0 | return begin; | 7000 | 0 | } | 7001 | 3.26M | begin = handler.on_format_specs(adapter.arg_id, begin + 1, end); | 7002 | 3.26M | if (SCN_UNLIKELY(begin == end || *begin != '}')) { | 7003 | 83.9k | handler.on_error("Unknown format specifier"); | 7004 | 83.9k | return begin; | 7005 | 83.9k | } | 7006 | 3.26M | } | 7007 | 0 | else { | 7008 | 0 | SCN_UNLIKELY_ATTR | 7009 | 0 | handler.on_error("Missing '}' in format string"); | 7010 | 0 | return begin; | 7011 | 0 | } | 7012 | 3.26M | } | 7013 | 3.18M | return begin + 1; | 7014 | 3.26M | } |
impl.cpp:wchar_t const* scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&) Line | Count | Source | 6951 | 3.57M | { | 6952 | 3.57M | struct id_adapter { | 6953 | 3.57M | constexpr void operator()() | 6954 | 3.57M | { | 6955 | 3.57M | arg_id = handler.on_arg_id(); | 6956 | 3.57M | } | 6957 | 3.57M | constexpr void operator()(std::size_t id) | 6958 | 3.57M | { | 6959 | 3.57M | arg_id = handler.on_arg_id(id); | 6960 | 3.57M | } | 6961 | | | 6962 | 3.57M | constexpr void on_error(const char* msg) | 6963 | 3.57M | { | 6964 | 3.57M | SCN_UNLIKELY_ATTR | 6965 | 3.57M | handler.on_error(msg); | 6966 | 3.57M | } | 6967 | | | 6968 | 3.57M | Handler& handler; | 6969 | 3.57M | std::size_t arg_id; | 6970 | 3.57M | }; | 6971 | | | 6972 | 3.57M | ++begin; | 6973 | 3.57M | if (SCN_UNLIKELY(begin == end)) { | 6974 | 88 | handler.on_error("Unexpected end of replacement field"); | 6975 | 88 | return begin; | 6976 | 88 | } | 6977 | | | 6978 | 3.57M | if (*begin == CharT{'}'}) { | 6979 | 5.51k | handler.on_replacement_field(handler.on_arg_id(), begin); | 6980 | 5.51k | } | 6981 | 3.56M | else if (*begin == CharT{'{'}) { | 6982 | 240 | handler.on_literal_text(begin, begin + 1); | 6983 | 240 | } | 6984 | 3.56M | else { | 6985 | 3.56M | auto adapter = id_adapter{handler, 0}; | 6986 | 3.56M | begin = parse_arg_id(begin, end, adapter); | 6987 | | | 6988 | 3.56M | if (SCN_UNLIKELY(begin == end)) { | 6989 | 120 | handler.on_error("Missing '}' in format string"); | 6990 | 120 | return begin; | 6991 | 120 | } | 6992 | | | 6993 | 3.56M | if (*begin == CharT{'}'}) { | 6994 | 294 | handler.on_replacement_field(adapter.arg_id, begin); | 6995 | 294 | } | 6996 | 3.56M | else if (*begin == CharT{':'}) { | 6997 | 3.37M | if (SCN_UNLIKELY(begin + 1 == end)) { | 6998 | 50 | handler.on_error("Unexpected end of replacement field"); | 6999 | 50 | return begin; | 7000 | 50 | } | 7001 | 3.37M | begin = handler.on_format_specs(adapter.arg_id, begin + 1, end); | 7002 | 3.37M | if (SCN_UNLIKELY(begin == end || *begin != '}')) { | 7003 | 188k | handler.on_error("Unknown format specifier"); | 7004 | 188k | return begin; | 7005 | 188k | } | 7006 | 3.37M | } | 7007 | 192k | else { | 7008 | 192k | SCN_UNLIKELY_ATTR | 7009 | 192k | handler.on_error("Missing '}' in format string"); | 7010 | 192k | return begin; | 7011 | 192k | } | 7012 | 3.56M | } | 7013 | 3.19M | return begin + 1; | 7014 | 3.57M | } |
impl.cpp:wchar_t const* scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&) Line | Count | Source | 6951 | 2.21M | { | 6952 | 2.21M | struct id_adapter { | 6953 | 2.21M | constexpr void operator()() | 6954 | 2.21M | { | 6955 | 2.21M | arg_id = handler.on_arg_id(); | 6956 | 2.21M | } | 6957 | 2.21M | constexpr void operator()(std::size_t id) | 6958 | 2.21M | { | 6959 | 2.21M | arg_id = handler.on_arg_id(id); | 6960 | 2.21M | } | 6961 | | | 6962 | 2.21M | constexpr void on_error(const char* msg) | 6963 | 2.21M | { | 6964 | 2.21M | SCN_UNLIKELY_ATTR | 6965 | 2.21M | handler.on_error(msg); | 6966 | 2.21M | } | 6967 | | | 6968 | 2.21M | Handler& handler; | 6969 | 2.21M | std::size_t arg_id; | 6970 | 2.21M | }; | 6971 | | | 6972 | 2.21M | ++begin; | 6973 | 2.21M | if (SCN_UNLIKELY(begin == end)) { | 6974 | 0 | handler.on_error("Unexpected end of replacement field"); | 6975 | 0 | return begin; | 6976 | 0 | } | 6977 | | | 6978 | 2.21M | if (*begin == CharT{'}'}) { | 6979 | 0 | handler.on_replacement_field(handler.on_arg_id(), begin); | 6980 | 0 | } | 6981 | 2.21M | else if (*begin == CharT{'{'}) { | 6982 | 0 | handler.on_literal_text(begin, begin + 1); | 6983 | 0 | } | 6984 | 2.21M | else { | 6985 | 2.21M | auto adapter = id_adapter{handler, 0}; | 6986 | 2.21M | begin = parse_arg_id(begin, end, adapter); | 6987 | | | 6988 | 2.21M | if (SCN_UNLIKELY(begin == end)) { | 6989 | 0 | handler.on_error("Missing '}' in format string"); | 6990 | 0 | return begin; | 6991 | 0 | } | 6992 | | | 6993 | 2.21M | if (*begin == CharT{'}'}) { | 6994 | 0 | handler.on_replacement_field(adapter.arg_id, begin); | 6995 | 0 | } | 6996 | 2.21M | else if (*begin == CharT{':'}) { | 6997 | 2.21M | if (SCN_UNLIKELY(begin + 1 == end)) { | 6998 | 0 | handler.on_error("Unexpected end of replacement field"); | 6999 | 0 | return begin; | 7000 | 0 | } | 7001 | 2.21M | begin = handler.on_format_specs(adapter.arg_id, begin + 1, end); | 7002 | 2.21M | if (SCN_UNLIKELY(begin == end || *begin != '}')) { | 7003 | 167k | handler.on_error("Unknown format specifier"); | 7004 | 167k | return begin; | 7005 | 167k | } | 7006 | 2.21M | } | 7007 | 0 | else { | 7008 | 0 | SCN_UNLIKELY_ATTR | 7009 | 0 | handler.on_error("Missing '}' in format string"); | 7010 | 0 | return begin; | 7011 | 0 | } | 7012 | 2.21M | } | 7013 | 2.04M | return begin + 1; | 7014 | 2.21M | } |
|
7015 | | |
7016 | | template <bool IsConstexpr, typename CharT, typename Handler> |
7017 | | constexpr void parse_format_string_impl(std::basic_string_view<CharT> format, |
7018 | | Handler&& handler) |
7019 | 12.5M | { |
7020 | | // TODO: memchr fast path with a larger (> 32) format string |
7021 | | |
7022 | 12.5M | auto begin = format.data(); |
7023 | 12.5M | auto it = begin; |
7024 | 12.5M | const auto end = format.data() + format.size(); |
7025 | | |
7026 | 819M | while (it != end) { |
7027 | 809M | const auto ch = *it++; |
7028 | 809M | if (ch == CharT{'{'}) { |
7029 | 12.3M | handler.on_literal_text(begin, it - 1); |
7030 | | |
7031 | 12.3M | begin = it = parse_replacement_field(it - 1, end, handler); |
7032 | 12.3M | if (!handler) { |
7033 | 2.56M | return; |
7034 | 2.56M | } |
7035 | 12.3M | } |
7036 | 797M | else if (ch == CharT{'}'}) { |
7037 | 8.59k | if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) { |
7038 | 3.28k | handler.on_error("Unmatched '}' in format string"); |
7039 | 3.28k | return; |
7040 | 3.28k | } |
7041 | | |
7042 | 5.31k | handler.on_literal_text(begin, it); |
7043 | 5.31k | begin = ++it; |
7044 | 5.31k | } |
7045 | 809M | } |
7046 | | |
7047 | 9.95M | handler.on_literal_text(begin, end); |
7048 | 9.95M | } impl.cpp:void scn::v3::detail::parse_format_string_impl<false, char, scn::v3::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<true, char>&) Line | Count | Source | 7019 | 3.33M | { | 7020 | | // TODO: memchr fast path with a larger (> 32) format string | 7021 | | | 7022 | 3.33M | auto begin = format.data(); | 7023 | 3.33M | auto it = begin; | 7024 | 3.33M | const auto end = format.data() + format.size(); | 7025 | | | 7026 | 6.33M | while (it != end) { | 7027 | 3.54M | const auto ch = *it++; | 7028 | 3.54M | if (ch == CharT{'{'}) { | 7029 | 3.34M | handler.on_literal_text(begin, it - 1); | 7030 | | | 7031 | 3.34M | begin = it = parse_replacement_field(it - 1, end, handler); | 7032 | 3.34M | if (!handler) { | 7033 | 548k | return; | 7034 | 548k | } | 7035 | 3.34M | } | 7036 | 201k | else if (ch == CharT{'}'}) { | 7037 | 3.71k | if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) { | 7038 | 1.86k | handler.on_error("Unmatched '}' in format string"); | 7039 | 1.86k | return; | 7040 | 1.86k | } | 7041 | | | 7042 | 1.85k | handler.on_literal_text(begin, it); | 7043 | 1.85k | begin = ++it; | 7044 | 1.85k | } | 7045 | 3.54M | } | 7046 | | | 7047 | 2.78M | handler.on_literal_text(begin, end); | 7048 | 2.78M | } |
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, char, scn::v3::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<false, char>&) Line | Count | Source | 7019 | 3.26M | { | 7020 | | // TODO: memchr fast path with a larger (> 32) format string | 7021 | | | 7022 | 3.26M | auto begin = format.data(); | 7023 | 3.26M | auto it = begin; | 7024 | 3.26M | const auto end = format.data() + format.size(); | 7025 | | | 7026 | 6.19M | while (it != end) { | 7027 | 3.26M | const auto ch = *it++; | 7028 | 3.26M | if (ch == CharT{'{'}) { | 7029 | 3.26M | handler.on_literal_text(begin, it - 1); | 7030 | | | 7031 | 3.26M | begin = it = parse_replacement_field(it - 1, end, handler); | 7032 | 3.26M | if (!handler) { | 7033 | 345k | return; | 7034 | 345k | } | 7035 | 3.26M | } | 7036 | 0 | else if (ch == CharT{'}'}) { | 7037 | 0 | if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) { | 7038 | 0 | handler.on_error("Unmatched '}' in format string"); | 7039 | 0 | return; | 7040 | 0 | } | 7041 | | | 7042 | 0 | handler.on_literal_text(begin, it); | 7043 | 0 | begin = ++it; | 7044 | 0 | } | 7045 | 3.26M | } | 7046 | | | 7047 | 2.92M | handler.on_literal_text(begin, end); | 7048 | 2.92M | } |
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&) Line | Count | Source | 7019 | 3.70M | { | 7020 | | // TODO: memchr fast path with a larger (> 32) format string | 7021 | | | 7022 | 3.70M | auto begin = format.data(); | 7023 | 3.70M | auto it = begin; | 7024 | 3.70M | const auto end = format.data() + format.size(); | 7025 | | | 7026 | 803M | while (it != end) { | 7027 | 800M | const auto ch = *it++; | 7028 | 800M | if (ch == CharT{'{'}) { | 7029 | 3.57M | handler.on_literal_text(begin, it - 1); | 7030 | | | 7031 | 3.57M | begin = it = parse_replacement_field(it - 1, end, handler); | 7032 | 3.57M | if (!handler) { | 7033 | 980k | return; | 7034 | 980k | } | 7035 | 3.57M | } | 7036 | 796M | else if (ch == CharT{'}'}) { | 7037 | 4.87k | if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) { | 7038 | 1.41k | handler.on_error("Unmatched '}' in format string"); | 7039 | 1.41k | return; | 7040 | 1.41k | } | 7041 | | | 7042 | 3.46k | handler.on_literal_text(begin, it); | 7043 | 3.46k | begin = ++it; | 7044 | 3.46k | } | 7045 | 800M | } | 7046 | | | 7047 | 2.72M | handler.on_literal_text(begin, end); | 7048 | 2.72M | } |
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&) Line | Count | Source | 7019 | 2.21M | { | 7020 | | // TODO: memchr fast path with a larger (> 32) format string | 7021 | | | 7022 | 2.21M | auto begin = format.data(); | 7023 | 2.21M | auto it = begin; | 7024 | 2.21M | const auto end = format.data() + format.size(); | 7025 | | | 7026 | 3.73M | while (it != end) { | 7027 | 2.21M | const auto ch = *it++; | 7028 | 2.21M | if (ch == CharT{'{'}) { | 7029 | 2.21M | handler.on_literal_text(begin, it - 1); | 7030 | | | 7031 | 2.21M | begin = it = parse_replacement_field(it - 1, end, handler); | 7032 | 2.21M | if (!handler) { | 7033 | 691k | return; | 7034 | 691k | } | 7035 | 2.21M | } | 7036 | 0 | else if (ch == CharT{'}'}) { | 7037 | 0 | if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) { | 7038 | 0 | handler.on_error("Unmatched '}' in format string"); | 7039 | 0 | return; | 7040 | 0 | } | 7041 | | | 7042 | 0 | handler.on_literal_text(begin, it); | 7043 | 0 | begin = ++it; | 7044 | 0 | } | 7045 | 2.21M | } | 7046 | | | 7047 | 1.52M | handler.on_literal_text(begin, end); | 7048 | 1.52M | } |
|
7049 | | |
7050 | | template <bool IsConstexpr, typename CharT, typename Handler> |
7051 | | constexpr scan_error parse_format_string(std::basic_string_view<CharT> format, |
7052 | | Handler&& handler) |
7053 | 12.5M | { |
7054 | 12.5M | parse_format_string_impl<IsConstexpr>(format, handler); |
7055 | 12.5M | handler.check_args_exhausted(); |
7056 | 12.5M | return handler.get_error(); |
7057 | 12.5M | } impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, char, scn::v3::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<true, char>&) Line | Count | Source | 7053 | 3.33M | { | 7054 | 3.33M | parse_format_string_impl<IsConstexpr>(format, handler); | 7055 | 3.33M | handler.check_args_exhausted(); | 7056 | 3.33M | return handler.get_error(); | 7057 | 3.33M | } |
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, char, scn::v3::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<false, char>&) Line | Count | Source | 7053 | 3.26M | { | 7054 | 3.26M | parse_format_string_impl<IsConstexpr>(format, handler); | 7055 | 3.26M | handler.check_args_exhausted(); | 7056 | 3.26M | return handler.get_error(); | 7057 | 3.26M | } |
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&) Line | Count | Source | 7053 | 3.70M | { | 7054 | 3.70M | parse_format_string_impl<IsConstexpr>(format, handler); | 7055 | 3.70M | handler.check_args_exhausted(); | 7056 | 3.70M | return handler.get_error(); | 7057 | 3.70M | } |
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&) Line | Count | Source | 7053 | 2.21M | { | 7054 | 2.21M | parse_format_string_impl<IsConstexpr>(format, handler); | 7055 | 2.21M | handler.check_args_exhausted(); | 7056 | 2.21M | return handler.get_error(); | 7057 | 2.21M | } |
|
7058 | | |
7059 | | enum class arg_type_category { |
7060 | | none, |
7061 | | integer, |
7062 | | unsigned_integer, |
7063 | | floating, |
7064 | | string, |
7065 | | pointer, |
7066 | | boolean, |
7067 | | character, |
7068 | | custom |
7069 | | }; |
7070 | | |
7071 | | constexpr arg_type_category get_category_for_arg_type(arg_type type) |
7072 | 1.80M | { |
7073 | 1.80M | switch (type) { |
7074 | 118 | case arg_type::none_type: |
7075 | 118 | return arg_type_category::none; |
7076 | | |
7077 | 123k | case arg_type::schar_type: |
7078 | 123k | case arg_type::short_type: |
7079 | 262k | case arg_type::int_type: |
7080 | 262k | case arg_type::long_type: |
7081 | 404k | case arg_type::llong_type: |
7082 | 404k | return arg_type_category::integer; |
7083 | | |
7084 | 111k | case arg_type::uchar_type: |
7085 | 111k | case arg_type::ushort_type: |
7086 | 233k | case arg_type::uint_type: |
7087 | 233k | case arg_type::ulong_type: |
7088 | 357k | case arg_type::ullong_type: |
7089 | 357k | return arg_type_category::unsigned_integer; |
7090 | | |
7091 | 156 | case arg_type::pointer_type: |
7092 | 156 | return arg_type_category::pointer; |
7093 | 156 | case arg_type::bool_type: |
7094 | 156 | return arg_type_category::boolean; |
7095 | 90 | case arg_type::narrow_character_type: |
7096 | 156 | case arg_type::wide_character_type: |
7097 | 156 | case arg_type::code_point_type: |
7098 | 156 | return arg_type_category::character; |
7099 | | |
7100 | 308k | case arg_type::float_type: |
7101 | 649k | case arg_type::double_type: |
7102 | 997k | case arg_type::ldouble_type: |
7103 | 997k | return arg_type_category::floating; |
7104 | | |
7105 | 4.52k | case arg_type::narrow_string_view_type: |
7106 | 13.5k | case arg_type::narrow_string_type: |
7107 | 22.5k | case arg_type::wide_string_view_type: |
7108 | 40.4k | case arg_type::wide_string_type: |
7109 | 40.4k | return arg_type_category::string; |
7110 | | |
7111 | 0 | case arg_type::custom_type: |
7112 | 0 | return arg_type_category::custom; |
7113 | | |
7114 | 0 | SCN_CLANG_PUSH |
7115 | 0 | SCN_CLANG_IGNORE("-Wcovered-switch-default") |
7116 | 0 | default: |
7117 | 0 | SCN_ENSURE(false); |
7118 | 1.80M | SCN_UNREACHABLE; |
7119 | 1.80M | SCN_CLANG_POP |
7120 | 1.80M | } |
7121 | | |
7122 | 1.80M | SCN_UNREACHABLE; |
7123 | 1.80M | } |
7124 | | |
7125 | | template <typename Handler> |
7126 | | class specs_checker : public Handler { |
7127 | | public: |
7128 | | template <typename H> |
7129 | | constexpr specs_checker(H&& handler, arg_type type) |
7130 | 12.1M | : Handler(SCN_FWD(handler)), m_arg_type(type) |
7131 | 12.1M | { |
7132 | 12.1M | SCN_EXPECT(m_arg_type != arg_type::custom_type); |
7133 | 12.1M | } impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::detail::arg_type) Line | Count | Source | 7130 | 3.27M | : Handler(SCN_FWD(handler)), m_arg_type(type) | 7131 | 3.27M | { | 7132 | 3.27M | SCN_EXPECT(m_arg_type != arg_type::custom_type); | 7133 | 3.27M | } |
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> >&&, scn::v3::detail::arg_type) Line | Count | Source | 7130 | 3.26M | : Handler(SCN_FWD(handler)), m_arg_type(type) | 7131 | 3.26M | { | 7132 | 3.26M | SCN_EXPECT(m_arg_type != arg_type::custom_type); | 7133 | 3.26M | } |
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::detail::arg_type) Line | Count | Source | 7130 | 3.37M | : Handler(SCN_FWD(handler)), m_arg_type(type) | 7131 | 3.37M | { | 7132 | 3.37M | SCN_EXPECT(m_arg_type != arg_type::custom_type); | 7133 | 3.37M | } |
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::detail::arg_type) Line | Count | Source | 7130 | 2.21M | : Handler(SCN_FWD(handler)), m_arg_type(type) | 7131 | 2.21M | { | 7132 | 2.21M | SCN_EXPECT(m_arg_type != arg_type::custom_type); | 7133 | 2.21M | } |
|
7134 | | |
7135 | | constexpr void on_localized() |
7136 | 1.80M | { |
7137 | 1.80M | const auto cat = get_category_for_arg_type(m_arg_type); |
7138 | 1.80M | if (cat != arg_type_category::integer && |
7139 | 1.80M | cat != arg_type_category::unsigned_integer && |
7140 | 1.80M | cat != arg_type_category::floating && |
7141 | 1.80M | cat != arg_type_category::boolean) { |
7142 | 40.8k | SCN_UNLIKELY_ATTR |
7143 | | // clang-format off |
7144 | 40.8k | return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types"); |
7145 | | // clang-format on |
7146 | 40.8k | } |
7147 | | |
7148 | 1.75M | Handler::on_localized(); |
7149 | 1.75M | } impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >::on_localized() Line | Count | Source | 7136 | 647k | { | 7137 | 647k | const auto cat = get_category_for_arg_type(m_arg_type); | 7138 | 647k | if (cat != arg_type_category::integer && | 7139 | 647k | cat != arg_type_category::unsigned_integer && | 7140 | 647k | cat != arg_type_category::floating && | 7141 | 647k | cat != arg_type_category::boolean) { | 7142 | 9.37k | SCN_UNLIKELY_ATTR | 7143 | | // clang-format off | 7144 | 9.37k | return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types"); | 7145 | | // clang-format on | 7146 | 9.37k | } | 7147 | | | 7148 | 637k | Handler::on_localized(); | 7149 | 637k | } |
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >::on_localized() Line | Count | Source | 7136 | 709k | { | 7137 | 709k | const auto cat = get_category_for_arg_type(m_arg_type); | 7138 | 709k | if (cat != arg_type_category::integer && | 7139 | 709k | cat != arg_type_category::unsigned_integer && | 7140 | 709k | cat != arg_type_category::floating && | 7141 | 709k | cat != arg_type_category::boolean) { | 7142 | 4.43k | SCN_UNLIKELY_ATTR | 7143 | | // clang-format off | 7144 | 4.43k | return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types"); | 7145 | | // clang-format on | 7146 | 4.43k | } | 7147 | | | 7148 | 705k | Handler::on_localized(); | 7149 | 705k | } |
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >::on_localized() Line | Count | Source | 7136 | 226k | { | 7137 | 226k | const auto cat = get_category_for_arg_type(m_arg_type); | 7138 | 226k | if (cat != arg_type_category::integer && | 7139 | 226k | cat != arg_type_category::unsigned_integer && | 7140 | 226k | cat != arg_type_category::floating && | 7141 | 226k | cat != arg_type_category::boolean) { | 7142 | 18.1k | SCN_UNLIKELY_ATTR | 7143 | | // clang-format off | 7144 | 18.1k | return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types"); | 7145 | | // clang-format on | 7146 | 18.1k | } | 7147 | | | 7148 | 208k | Handler::on_localized(); | 7149 | 208k | } |
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >::on_localized() Line | Count | Source | 7136 | 217k | { | 7137 | 217k | const auto cat = get_category_for_arg_type(m_arg_type); | 7138 | 217k | if (cat != arg_type_category::integer && | 7139 | 217k | cat != arg_type_category::unsigned_integer && | 7140 | 217k | cat != arg_type_category::floating && | 7141 | 217k | cat != arg_type_category::boolean) { | 7142 | 8.87k | SCN_UNLIKELY_ATTR | 7143 | | // clang-format off | 7144 | 8.87k | return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types"); | 7145 | | // clang-format on | 7146 | 8.87k | } | 7147 | | | 7148 | 208k | Handler::on_localized(); | 7149 | 208k | } |
|
7150 | | |
7151 | | private: |
7152 | | arg_type m_arg_type; |
7153 | | }; |
7154 | | |
7155 | | template <typename Handler> |
7156 | | constexpr void check_int_type_specs(const format_specs& specs, |
7157 | | Handler&& handler) |
7158 | 4.06M | { |
7159 | 4.06M | if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) { |
7160 | 35.6k | return handler.on_error("Invalid type specifier for integer type"); |
7161 | 35.6k | } |
7162 | 4.03M | if (specs.localized) { |
7163 | 762k | if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) { |
7164 | | // clang-format off |
7165 | 8 | handler.on_error("'b'/'B' specifier not supported for localized integers"); |
7166 | | // clang-format on |
7167 | 8 | return; |
7168 | 8 | } |
7169 | 762k | if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) { |
7170 | | // clang-format off |
7171 | 0 | return handler.on_error("Arbitrary bases not supported for localized integers"); |
7172 | | // clang-format on |
7173 | 0 | } |
7174 | 762k | } |
7175 | 4.03M | } Unexecuted instantiation: void scn::v3::detail::check_int_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&) void scn::v3::detail::check_int_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&) Line | Count | Source | 7158 | 4.06M | { | 7159 | 4.06M | if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) { | 7160 | 35.6k | return handler.on_error("Invalid type specifier for integer type"); | 7161 | 35.6k | } | 7162 | 4.03M | if (specs.localized) { | 7163 | 762k | if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) { | 7164 | | // clang-format off | 7165 | 8 | handler.on_error("'b'/'B' specifier not supported for localized integers"); | 7166 | | // clang-format on | 7167 | 8 | return; | 7168 | 8 | } | 7169 | 762k | if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) { | 7170 | | // clang-format off | 7171 | 0 | return handler.on_error("Arbitrary bases not supported for localized integers"); | 7172 | | // clang-format on | 7173 | 0 | } | 7174 | 762k | } | 7175 | 4.03M | } |
|
7176 | | |
7177 | | template <typename Handler> |
7178 | | constexpr void check_char_type_specs(const format_specs& specs, |
7179 | | Handler&& handler) |
7180 | 18.9k | { |
7181 | 18.9k | if (specs.type > presentation_type::int_hex || |
7182 | 18.9k | specs.type == presentation_type::int_arbitrary_base) { |
7183 | 17.7k | SCN_UNLIKELY_ATTR |
7184 | 17.7k | return handler.on_error("Invalid type specifier for character type"); |
7185 | 17.7k | } |
7186 | 18.9k | } Unexecuted instantiation: void scn::v3::detail::check_char_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&) void scn::v3::detail::check_char_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&) Line | Count | Source | 7180 | 18.9k | { | 7181 | 18.9k | if (specs.type > presentation_type::int_hex || | 7182 | 18.9k | specs.type == presentation_type::int_arbitrary_base) { | 7183 | 17.7k | SCN_UNLIKELY_ATTR | 7184 | 17.7k | return handler.on_error("Invalid type specifier for character type"); | 7185 | 17.7k | } | 7186 | 18.9k | } |
|
7187 | | |
7188 | | template <typename Handler> |
7189 | | constexpr void check_code_point_type_specs(const format_specs& specs, |
7190 | | Handler&& handler) |
7191 | 0 | { |
7192 | 0 | if (specs.type != presentation_type::none && |
7193 | 0 | specs.type != presentation_type::character) { |
7194 | 0 | SCN_UNLIKELY_ATTR |
7195 | 0 | return handler.on_error("Invalid type specifier for code point type"); |
7196 | 0 | } |
7197 | 0 | } |
7198 | | |
7199 | | template <typename Handler> |
7200 | | constexpr void check_float_type_specs(const format_specs& specs, |
7201 | | Handler&& handler) |
7202 | 3.74M | { |
7203 | 3.74M | if (specs.type != presentation_type::none && |
7204 | 3.74M | (specs.type < presentation_type::float_hex || |
7205 | 2.74M | specs.type > presentation_type::float_general)) { |
7206 | 17.8k | SCN_UNLIKELY_ATTR |
7207 | 17.8k | return handler.on_error("Invalid type specifier for float type"); |
7208 | 17.8k | } |
7209 | 3.74M | } Unexecuted instantiation: void scn::v3::detail::check_float_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&) void scn::v3::detail::check_float_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&) Line | Count | Source | 7202 | 3.74M | { | 7203 | 3.74M | if (specs.type != presentation_type::none && | 7204 | 3.74M | (specs.type < presentation_type::float_hex || | 7205 | 2.74M | specs.type > presentation_type::float_general)) { | 7206 | 17.8k | SCN_UNLIKELY_ATTR | 7207 | 17.8k | return handler.on_error("Invalid type specifier for float type"); | 7208 | 17.8k | } | 7209 | 3.74M | } |
|
7210 | | |
7211 | | template <typename Handler> |
7212 | | constexpr void check_string_type_specs(const format_specs& specs, |
7213 | | Handler&& handler) |
7214 | 3.71M | { |
7215 | 3.71M | if (specs.type == presentation_type::none || |
7216 | 3.71M | specs.type == presentation_type::string || |
7217 | 3.71M | specs.type == presentation_type::string_set || |
7218 | 3.71M | specs.type == presentation_type::regex || |
7219 | 3.71M | specs.type == presentation_type::regex_escaped) { |
7220 | 3.67M | return; |
7221 | 3.67M | } |
7222 | 40.6k | if (specs.type == presentation_type::character) { |
7223 | 40.0k | if (SCN_UNLIKELY(specs.precision == 0)) { |
7224 | | // clang-format off |
7225 | 39.9k | return handler.on_error("'c' type specifier for strings requires the field precision to be specified"); |
7226 | | // clang-format on |
7227 | 39.9k | } |
7228 | 144 | return; |
7229 | 40.0k | } |
7230 | 600 | SCN_UNLIKELY_ATTR |
7231 | 600 | handler.on_error("Invalid type specifier for string"); |
7232 | 600 | } Unexecuted instantiation: void scn::v3::detail::check_string_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&) void scn::v3::detail::check_string_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&) Line | Count | Source | 7214 | 3.71M | { | 7215 | 3.71M | if (specs.type == presentation_type::none || | 7216 | 3.71M | specs.type == presentation_type::string || | 7217 | 3.71M | specs.type == presentation_type::string_set || | 7218 | 3.71M | specs.type == presentation_type::regex || | 7219 | 3.71M | specs.type == presentation_type::regex_escaped) { | 7220 | 3.67M | return; | 7221 | 3.67M | } | 7222 | 40.6k | if (specs.type == presentation_type::character) { | 7223 | 40.0k | if (SCN_UNLIKELY(specs.precision == 0)) { | 7224 | | // clang-format off | 7225 | 39.9k | return handler.on_error("'c' type specifier for strings requires the field precision to be specified"); | 7226 | | // clang-format on | 7227 | 39.9k | } | 7228 | 144 | return; | 7229 | 40.0k | } | 7230 | 600 | SCN_UNLIKELY_ATTR | 7231 | 600 | handler.on_error("Invalid type specifier for string"); | 7232 | 600 | } |
|
7233 | | |
7234 | | template <typename Handler> |
7235 | | constexpr void check_pointer_type_specs(const format_specs& specs, |
7236 | | Handler&& handler) |
7237 | 18.9k | { |
7238 | 18.9k | if (specs.type != presentation_type::none && |
7239 | 18.9k | specs.type != presentation_type::pointer) { |
7240 | 17.8k | SCN_UNLIKELY_ATTR |
7241 | 17.8k | return handler.on_error("Invalid type specifier for pointer"); |
7242 | 17.8k | } |
7243 | 18.9k | } Unexecuted instantiation: void scn::v3::detail::check_pointer_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&) void scn::v3::detail::check_pointer_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&) Line | Count | Source | 7237 | 18.9k | { | 7238 | 18.9k | if (specs.type != presentation_type::none && | 7239 | 18.9k | specs.type != presentation_type::pointer) { | 7240 | 17.8k | SCN_UNLIKELY_ATTR | 7241 | 17.8k | return handler.on_error("Invalid type specifier for pointer"); | 7242 | 17.8k | } | 7243 | 18.9k | } |
|
7244 | | |
7245 | | template <typename Handler> |
7246 | | constexpr void check_bool_type_specs(const format_specs& specs, |
7247 | | Handler&& handler) |
7248 | 19.0k | { |
7249 | 19.0k | if (specs.type != presentation_type::none && |
7250 | 19.0k | specs.type != presentation_type::string && |
7251 | 19.0k | specs.type != presentation_type::int_generic && |
7252 | 19.0k | specs.type != presentation_type::int_hex && |
7253 | 19.0k | specs.type != presentation_type::int_binary && |
7254 | 19.0k | specs.type != presentation_type::int_unsigned_decimal && |
7255 | 19.0k | specs.type != presentation_type::int_octal && |
7256 | 19.0k | specs.type != presentation_type::int_decimal) { |
7257 | 17.5k | SCN_UNLIKELY_ATTR |
7258 | 17.5k | return handler.on_error("Invalid type specifier for boolean"); |
7259 | 17.5k | } |
7260 | 19.0k | } Unexecuted instantiation: void scn::v3::detail::check_bool_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&) void scn::v3::detail::check_bool_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&) Line | Count | Source | 7248 | 19.0k | { | 7249 | 19.0k | if (specs.type != presentation_type::none && | 7250 | 19.0k | specs.type != presentation_type::string && | 7251 | 19.0k | specs.type != presentation_type::int_generic && | 7252 | 19.0k | specs.type != presentation_type::int_hex && | 7253 | 19.0k | specs.type != presentation_type::int_binary && | 7254 | 19.0k | specs.type != presentation_type::int_unsigned_decimal && | 7255 | 19.0k | specs.type != presentation_type::int_octal && | 7256 | 19.0k | specs.type != presentation_type::int_decimal) { | 7257 | 17.5k | SCN_UNLIKELY_ATTR | 7258 | 17.5k | return handler.on_error("Invalid type specifier for boolean"); | 7259 | 17.5k | } | 7260 | 19.0k | } |
|
7261 | | |
7262 | | template <typename Handler> |
7263 | | constexpr void check_regex_type_specs(const format_specs& specs, |
7264 | | Handler&& handler) |
7265 | 0 | { |
7266 | 0 | if (SCN_UNLIKELY(specs.type == presentation_type::none || |
7267 | 0 | specs.charset_string_size == 0)) { |
7268 | | // clang-format off |
7269 | 0 | return handler.on_error("Regular expression needs to specified when reading regex_matches"); |
7270 | | // clang-format on |
7271 | 0 | } |
7272 | 0 | if (specs.type == presentation_type::regex || |
7273 | 0 | specs.type == presentation_type::regex_escaped) { |
7274 | 0 | return; |
7275 | 0 | } |
7276 | 0 | SCN_UNLIKELY_ATTR |
7277 | 0 | handler.on_error("Invalid type specifier for regex_matches"); |
7278 | 0 | } Unexecuted instantiation: void scn::v3::detail::check_regex_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&) Unexecuted instantiation: void scn::v3::detail::check_regex_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&) |
7279 | | } // namespace detail |
7280 | | |
7281 | | /** |
7282 | | * \defgroup format-string Format strings |
7283 | | * |
7284 | | * \brief Format string description |
7285 | | * |
7286 | | * The format string syntax is heavily influenced by {fmt} and |
7287 | | * `std::format`, and is largely compatible with it. Scanning functions, |
7288 | | * such as `scn::scan` and |
7289 | | * `scn::input`, use the format string syntax described in this section. |
7290 | | * |
7291 | | * Format strings consist of: |
7292 | | * |
7293 | | * * Replacement fields, which are surrounded by curly braces `{}`. |
7294 | | * |
7295 | | * * Non-whitespace characters (except `{}`; for literal braces, use |
7296 | | * `{{` and `}}`), which consume exactly one identical character from the |
7297 | | * input |
7298 | | * |
7299 | | * * Whitespace characters, which consume any and all available consecutive |
7300 | | * whitespace from the input. |
7301 | | * |
7302 | | * Literal characters are matched by code point one-to-one, with no |
7303 | | * normalization being done. |
7304 | | * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for |
7305 | | * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A). |
7306 | | * |
7307 | | * Characters (code points) are considered to be whitespace characters by |
7308 | | * the Unicode Pattern_White_Space property, as defined by UAX31-R3a. |
7309 | | * These code points are: |
7310 | | * |
7311 | | * * ASCII whitespace characters ("\t\n\v\f\r ") |
7312 | | * * U+0085 (next line) |
7313 | | * * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK) |
7314 | | * * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR) |
7315 | | * |
7316 | | * The grammar for a replacement field is as follows: |
7317 | | * |
7318 | | * \code |
7319 | | * replacement-field ::= '{' [arg-id] [':' format-spec] '}' |
7320 | | * arg-id ::= positive-integer |
7321 | | * |
7322 | | * format-spec ::= [fill-and-align] |
7323 | | * [width] [precision] |
7324 | | * ['L'] [type] |
7325 | | * fill-and-align ::= [fill] align |
7326 | | * fill ::= any character other than |
7327 | | * '{' or '}' |
7328 | | * align ::= one of '<' '>' '^' |
7329 | | * width ::= positive-integer |
7330 | | * precision ::= '.' nonnegative-integer |
7331 | | * type ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' | |
7332 | | * 'e' | 'E' | 'f' | 'F' | 'g' | 'G' | |
7333 | | * 'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u' |
7334 | | * \endcode |
7335 | | * |
7336 | | * \section arg-ids Argument IDs |
7337 | | * |
7338 | | * The `arg-id` specifier can be used to index arguments manually. |
7339 | | * If manual indexing is used, all of the indices in a format string must be |
7340 | | * stated explicitly. The same `arg-id` can appear in the format string |
7341 | | * only once, and must refer to a valid argument. |
7342 | | * |
7343 | | * \code{.cpp} |
7344 | | * // Format string equivalent to "{0} to {1}" |
7345 | | * auto a = scn::scan<int, int>("2 to 300", "{} to {}"); |
7346 | | * // a->values() == (2, 300) |
7347 | | * |
7348 | | * // Manual indexing |
7349 | | * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}"); |
7350 | | * // b->values() == (3, 200) |
7351 | | * |
7352 | | * // INVALID: |
7353 | | * // Automatic and manual indexing is mixed |
7354 | | * auto c = scn::scan<int, int>("2 to 300", "{} to {0}"); |
7355 | | * |
7356 | | * // INVALID: |
7357 | | * // Same argument is referred to multiple times |
7358 | | * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}"); |
7359 | | * |
7360 | | * // INVALID: |
7361 | | * // {2} does not refer to an argument |
7362 | | * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}"); |
7363 | | * \endcode |
7364 | | * |
7365 | | * \section fill-and-align Fill and align |
7366 | | * |
7367 | | * Alignment allows for skipping character before and/or after a value. |
7368 | | * There are three possible values for alignment: |
7369 | | * |
7370 | | * <table> |
7371 | | * <caption id="align-table"> |
7372 | | * Alignment options |
7373 | | * </caption> |
7374 | | * |
7375 | | * <tr><th>Option</th> <th>Meaning</th></tr> |
7376 | | * |
7377 | | * <tr> |
7378 | | * <td>`<`</td> |
7379 | | * <td> |
7380 | | * Align the value to the left (skips fill characters after the value) |
7381 | | * </td> |
7382 | | * </tr> |
7383 | | * |
7384 | | * <tr> |
7385 | | * <td>`>`</td> |
7386 | | * <td> |
7387 | | * Align the value to the right (skips fill characters before the value) |
7388 | | * </td> |
7389 | | * </tr> |
7390 | | * |
7391 | | * <tr> |
7392 | | * <td>`^`</td> |
7393 | | * <td> |
7394 | | * Align the value to the center |
7395 | | * (skips fill characters both before and after the value) |
7396 | | * </td> |
7397 | | * </tr> |
7398 | | * </table> |
7399 | | * |
7400 | | * The fill character can be any Unicode code point, except for `{` and `}`. |
7401 | | * The default fill is any whitespace character, as specified above. |
7402 | | * |
7403 | | * For format type specifiers other than `c` (default for `char` and `wchar_t`, |
7404 | | * available for `string` and `string_view`), `[...]`, and the regex `/.../`, |
7405 | | * the default alignment is `>`. |
7406 | | * In practice, this means that leading whitespace is skipped by default. |
7407 | | * For the `c` format type specifier, there's no default alignment, |
7408 | | * and no fill characters are skipped, including whitespace. |
7409 | | * |
7410 | | * The number of fill characters consumed can be controlled with the width and |
7411 | | * precision specifiers. |
7412 | | * |
7413 | | * \section width Width |
7414 | | * |
7415 | | * Width specifies the minimum number of characters that will be read from |
7416 | | * the source range. It can be any unsigned integer. Any fill characters skipped |
7417 | | * are included in the width. |
7418 | | * |
7419 | | * For the purposes of width calculation, the same algorithm is used that in |
7420 | | * {fmt}. Every code point has a width of one, except the following ones |
7421 | | * have a width of 2: |
7422 | | * |
7423 | | * * any code point with the East_Asian_Width="W" or East_Asian_Width="F" |
7424 | | * Derived Extracted Property as described by UAX#44 |
7425 | | * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols) |
7426 | | * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs) |
7427 | | * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs) |
7428 | | * |
7429 | | * \section precision Precision |
7430 | | * |
7431 | | * Precision specifies the maximum number of characters that will be read from |
7432 | | * the source range. The method for counting characters is the same as above, |
7433 | | * with the width field. |
7434 | | * |
7435 | | * \section localized Localized |
7436 | | * |
7437 | | * The `L` flag enables localized scanning. |
7438 | | * Its effects are different for each type it is used with: |
7439 | | * |
7440 | | * * For integers, it enables locale-specific thousands separators |
7441 | | * * For floating-point numbers, it enables locale-specific thousands and |
7442 | | * radix (decimal) separators |
7443 | | * * For booleans, it enables locale-specific textual representations (for |
7444 | | * `true` and `false`) |
7445 | | * * For other types, it has no effect |
7446 | | * |
7447 | | * \section type Type specifier |
7448 | | * |
7449 | | * The type specifier determines how the data is to be scanned. |
7450 | | * The type of the argument to be scanned determines what flags are valid. |
7451 | | * |
7452 | | * \subsection type-string Type specifier: strings |
7453 | | * |
7454 | | * <table> |
7455 | | * <caption id="type-string-table"> |
7456 | | * String types (`std::basic_string` and `std::basic_string_view`) |
7457 | | * </caption> |
7458 | | * <tr><th>Type</th> <th>Meaning</th></tr> |
7459 | | * <tr> |
7460 | | * <td>none, `s`</td> |
7461 | | * <td> |
7462 | | * Copies from the input until a whitespace character is encountered, or, |
7463 | | * if using the `<` (left) or `^` (center) alignment, |
7464 | | * a fill character is encountered. |
7465 | | * </td> |
7466 | | * </tr> |
7467 | | * <tr> |
7468 | | * <td>`c`</td> |
7469 | | * <td> |
7470 | | * Copies from the input until the field width is exhausted. |
7471 | | * Has no default alignment |
7472 | | * (doesn't skip preceding whitespace, if no alignment is specified). |
7473 | | * Errors if no field precision is provided. |
7474 | | * </td> |
7475 | | * </tr> |
7476 | | * <tr> |
7477 | | * <td>`[...]`</td> |
7478 | | * <td> |
7479 | | * Character set matching: copies from the input until a character not specified |
7480 | | * in the set is encountered. Character ranges can be specified with `-`, and |
7481 | | * the entire selection can be inverted with a prefix `^`. Matches and supports |
7482 | | * arbitrary Unicode code points. |
7483 | | * Has no default alignment |
7484 | | * (doesn't skip preceding whitespace, if no alignment is specified). |
7485 | | * </td> |
7486 | | * </tr> |
7487 | | * <tr> |
7488 | | * <td>`/<regex>/<flags>`</td> |
7489 | | * <td> |
7490 | | * Regular expression matching: copies from the input until the input does not |
7491 | | * match the regex. |
7492 | | * Has no default alignment |
7493 | | * (doesn't skip preceding whitespace, if no alignment is specified). |
7494 | | * \see regex |
7495 | | * </td> |
7496 | | * </tr> |
7497 | | * </table> |
7498 | | * |
7499 | | * \note `std::basic_string_view` can only be scanned if the source is |
7500 | | * contiguous. |
7501 | | * |
7502 | | * \subsection type-int Type specifier: integers |
7503 | | * |
7504 | | * Integer values are scanned as if by using `std::from_chars`, |
7505 | | * except a positive `+` sign and a base prefix (like `0x`) are always |
7506 | | * allowed to be present. |
7507 | | * |
7508 | | * <table> |
7509 | | * <caption id="type-int-table"> |
7510 | | * Integer types (`signed` and `unsigned` variants of `char`, `short`, |
7511 | | * `int`, `long`, and `long long`) |
7512 | | * </caption> |
7513 | | * <tr><th>Type</th> <th>Meaning</th></tr> |
7514 | | * <tr> |
7515 | | * <td>`b`, `B`</td> |
7516 | | * <td> |
7517 | | * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`. |
7518 | | * </td> |
7519 | | * </tr> |
7520 | | * <tr> |
7521 | | * <td>`o`, `O`</td> |
7522 | | * <td> |
7523 | | * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just |
7524 | | * `0`. |
7525 | | * </td> |
7526 | | * </tr> |
7527 | | * <tr> |
7528 | | * <td>`x`, `X`</td> |
7529 | | * <td> |
7530 | | * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`. |
7531 | | * </td> |
7532 | | * </tr> |
7533 | | * <tr> |
7534 | | * <td>`d`</td> |
7535 | | * <td> |
7536 | | * `std::from_chars` with base `10`. No base prefix allowed. |
7537 | | * </td> |
7538 | | * </tr> |
7539 | | * <tr> |
7540 | | * <td>`u`</td> |
7541 | | * <td> |
7542 | | * `std::from_chars` with base `10`. No base prefix or `-` sign allowed. |
7543 | | * </td> |
7544 | | * </tr> |
7545 | | * <tr> |
7546 | | * <td>`i`</td> |
7547 | | * <td> |
7548 | | * Detect the base from a possible prefix, defaulting to decimal (base-10). |
7549 | | * </td> |
7550 | | * </tr> |
7551 | | * <tr> |
7552 | | * <td>`rXX` (where XX = [2, 36])</td> |
7553 | | * <td> |
7554 | | * Custom base, without a base prefix (r stands for radix). |
7555 | | * </td> |
7556 | | * </tr> |
7557 | | * <tr> |
7558 | | * <td>`c`</td> |
7559 | | * <td> |
7560 | | * Copies a character (code unit) from the input. |
7561 | | * </td> |
7562 | | * </tr> |
7563 | | * <tr> |
7564 | | * <td>none</td> |
7565 | | * <td> |
7566 | | * Same as `d`. |
7567 | | * </td> |
7568 | | * </tr> |
7569 | | * </table> |
7570 | | * |
7571 | | * \subsection type-char Type specifier: characters |
7572 | | * |
7573 | | * <table> |
7574 | | * <caption id="type-char-table"> |
7575 | | * Character types (`char` and `wchar_t`), and code points (`char32_t`) |
7576 | | * </caption> |
7577 | | * <tr><th>Type</th> <th>Meaning</th></tr> |
7578 | | * <tr> |
7579 | | * <td>none, `c`</td> |
7580 | | * <td> |
7581 | | * Copies a character (code point for `char32_t`, code unit otherwise) from the |
7582 | | * input. |
7583 | | * </td> |
7584 | | * </tr> |
7585 | | * <tr> |
7586 | | * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td> |
7587 | | * <td> |
7588 | | * Same as for integers, see above \ref type-int. Not allowed for `char32_t`. |
7589 | | * </td> |
7590 | | * </tr> |
7591 | | * </table> |
7592 | | * |
7593 | | * \note When scanning characters (`char` and `wchar_t`), the source range is |
7594 | | * read a single code unit at a time, and encoding is not respected. |
7595 | | * |
7596 | | * \subsection type-float Type specifier: floating-point values |
7597 | | * |
7598 | | * Floating-point values are scanned as if by using `std::from_chars`, |
7599 | | * except a positive `+` sign and a base prefix (like `0x`) are always |
7600 | | * allowed to be present. |
7601 | | * |
7602 | | * <table> |
7603 | | * <caption id="type-float-table"> |
7604 | | * Floating-point types (`float`, `double`, and `long double`) |
7605 | | * </caption> |
7606 | | * <tr><th>Type</th> <th>Meaning</th></tr> |
7607 | | * <tr> |
7608 | | * <td>`a`, `A`</td> |
7609 | | * <td> |
7610 | | * `std::from_chars` with `std::chars_format::hex`. |
7611 | | * Prefix `0x`/`0X` is allowed. |
7612 | | * </td> |
7613 | | * </tr> |
7614 | | * <tr> |
7615 | | * <td>`e`, `E`</td> |
7616 | | * <td> |
7617 | | * `std::from_chars` with `std::chars_format::scientific`. |
7618 | | * </td> |
7619 | | * </tr> |
7620 | | * <tr> |
7621 | | * <td>`f`, `F`</td> |
7622 | | * <td> |
7623 | | * `std::from_chars` with `std::chars_format::fixed`. |
7624 | | * </td> |
7625 | | * </tr> |
7626 | | * <tr> |
7627 | | * <td>`g`, `G`</td> |
7628 | | * <td> |
7629 | | * `std::from_chars` with `std::chars_format::general`. |
7630 | | * </td> |
7631 | | * </tr> |
7632 | | * <tr> |
7633 | | * <td>none</td> |
7634 | | * <td> |
7635 | | * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`. |
7636 | | * Prefix `0x`/`0X` is allowed. |
7637 | | * </td> |
7638 | | * </tr> |
7639 | | * </table> |
7640 | | * |
7641 | | * \subsection type-bool Type specifier: booleans |
7642 | | * |
7643 | | * <table> |
7644 | | * <caption id="type-bool-table"> |
7645 | | * `bool` |
7646 | | * </caption> |
7647 | | * <tr><th>Type</th> <th>Meaning</th></tr> |
7648 | | * <tr> |
7649 | | * <td>`s`</td> |
7650 | | * <td> |
7651 | | * Allows for the textual representation (`true` or `false`). |
7652 | | * </td> |
7653 | | * </tr> |
7654 | | * <tr> |
7655 | | * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td> |
7656 | | * <td> |
7657 | | * Allows for the integral/numeric representation (`0` or `1`). |
7658 | | * </td> |
7659 | | * </tr> |
7660 | | * <tr> |
7661 | | * <td>none</td> |
7662 | | * <td> |
7663 | | * Allows for both the textual and the integral/numeric representation. |
7664 | | * </td> |
7665 | | * </tr> |
7666 | | * </table> |
7667 | | */ |
7668 | | |
7669 | | namespace detail { |
7670 | | /** |
7671 | | * A runtime format string |
7672 | | * |
7673 | | * \ingroup format-string |
7674 | | */ |
7675 | | template <typename CharT> |
7676 | | struct basic_runtime_format_string { |
7677 | 17.8M | basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}scn::v3::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 7677 | 8.24M | basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {} |
scn::v3::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >) Line | Count | Source | 7677 | 9.56M | basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {} |
|
7678 | | |
7679 | | basic_runtime_format_string(const basic_runtime_format_string&) = delete; |
7680 | | basic_runtime_format_string(basic_runtime_format_string&&) = delete; |
7681 | | basic_runtime_format_string& operator=(const basic_runtime_format_string&) = |
7682 | | delete; |
7683 | | basic_runtime_format_string& operator=(basic_runtime_format_string&&) = |
7684 | | delete; |
7685 | | ~basic_runtime_format_string() = default; |
7686 | | |
7687 | | std::basic_string_view<CharT> str; |
7688 | | }; |
7689 | | } // namespace detail |
7690 | | |
7691 | | /** |
7692 | | * Create a runtime format string |
7693 | | * |
7694 | | * Can be used to avoid compile-time format string checking |
7695 | | * |
7696 | | * \ingroup format-string |
7697 | | */ |
7698 | | inline detail::basic_runtime_format_string<char> runtime_format( |
7699 | | std::string_view s) |
7700 | 8.24M | { |
7701 | 8.24M | return s; |
7702 | 8.24M | } |
7703 | | inline detail::basic_runtime_format_string<wchar_t> runtime_format( |
7704 | | std::wstring_view s) |
7705 | 9.56M | { |
7706 | 9.56M | return s; |
7707 | 9.56M | } |
7708 | | |
7709 | | namespace detail { |
7710 | | struct compile_string {}; |
7711 | | |
7712 | | template <typename Str> |
7713 | | inline constexpr bool is_compile_string_v = |
7714 | | std::is_base_of_v<compile_string, Str>; |
7715 | | |
7716 | | template <typename Scanner, typename = void> |
7717 | | inline constexpr bool scanner_has_format_specs_member_v = false; |
7718 | | template <typename Scanner> |
7719 | | inline constexpr bool scanner_has_format_specs_member_v< |
7720 | | Scanner, |
7721 | | std::void_t<decltype(SCN_DECLVAL(Scanner&)._format_specs())>> = true; |
7722 | | |
7723 | | template <typename T, typename Source, typename Ctx, typename ParseCtx> |
7724 | | constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx) |
7725 | | { |
7726 | | using char_type = typename ParseCtx::char_type; |
7727 | | using mapped_type = std::conditional_t< |
7728 | | mapped_type_constant<T, char_type>::value != arg_type::custom_type, |
7729 | | std::remove_reference_t<decltype(arg_mapper<char_type>().map( |
7730 | | SCN_DECLVAL(T&)))>, |
7731 | | T>; |
7732 | | auto s = typename Ctx::template scanner_type<mapped_type>{}; |
7733 | | auto it = s.parse(parse_ctx) |
7734 | | .transform_error([&](scan_error err) constexpr { |
7735 | | parse_ctx.on_error(err.msg()); |
7736 | | return err; |
7737 | | }) |
7738 | | .value_or(parse_ctx.end()); |
7739 | | if constexpr (scanner_has_format_specs_member_v<decltype(s)>) { |
7740 | | auto& specs = s._format_specs(); |
7741 | | if ((specs.type == presentation_type::regex || |
7742 | | specs.type == presentation_type::regex_escaped) && |
7743 | | !(ranges::range<Source> && ranges::contiguous_range<Source>)) { |
7744 | | // clang-format off |
7745 | | parse_ctx.on_error("Cannot read a regex from a non-contiguous source"); |
7746 | | // clang-format on |
7747 | | } |
7748 | | } |
7749 | | return it; |
7750 | | } |
7751 | | |
7752 | | template <typename CharT, typename Source, typename... Args> |
7753 | | class format_string_checker { |
7754 | | public: |
7755 | | using parse_context_type = compile_parse_context<CharT>; |
7756 | | static constexpr auto num_args = sizeof...(Args); |
7757 | | |
7758 | | explicit constexpr format_string_checker( |
7759 | | std::basic_string_view<CharT> format_str) |
7760 | | : m_parse_context(format_str, |
7761 | | num_args, |
7762 | | m_types, |
7763 | | type_identity<Source>{}), |
7764 | | m_parse_funcs{&parse_format_specs<Args, |
7765 | | Source, |
7766 | | basic_scan_context<CharT>, |
7767 | | parse_context_type>...}, |
7768 | | m_types{arg_type_constant<Args, CharT>::value...} |
7769 | | { |
7770 | | } |
7771 | | |
7772 | | constexpr void on_literal_text(const CharT* begin, const CharT* end) const |
7773 | | { |
7774 | | // TODO: Do we want to validate Unicode in format strings? |
7775 | | // We're dealing with text, so we probably do. |
7776 | | // We could do codeunit-to-codeunit matching, |
7777 | | // but that could get messy wrt. whitespace matching. |
7778 | | // It's simpler to not allow nonsense. |
7779 | | while (begin != end) { |
7780 | | const auto len = code_point_length_by_starting_code_unit(*begin); |
7781 | | if (SCN_UNLIKELY(len == 0 || |
7782 | | static_cast<size_t>(end - begin) < len)) { |
7783 | | return on_error("Invalid encoding in format string"); |
7784 | | } |
7785 | | |
7786 | | const auto cp = decode_code_point_exhaustive( |
7787 | | std::basic_string_view<CharT>{begin, len}); |
7788 | | if (SCN_UNLIKELY(cp >= invalid_code_point)) { |
7789 | | return on_error("Invalid encoding in format string"); |
7790 | | } |
7791 | | |
7792 | | begin += len; |
7793 | | } |
7794 | | } |
7795 | | |
7796 | | constexpr auto on_arg_id() |
7797 | | { |
7798 | | return m_parse_context.next_arg_id(); |
7799 | | } |
7800 | | constexpr auto on_arg_id(std::size_t id) |
7801 | | { |
7802 | | m_parse_context.check_arg_id(id); |
7803 | | return id; |
7804 | | } |
7805 | | |
7806 | | constexpr void on_replacement_field(size_t id, const CharT*) |
7807 | | { |
7808 | | m_parse_context.check_arg_can_be_read(id); |
7809 | | set_arg_as_read(id); |
7810 | | |
7811 | | if (m_types[id] == arg_type::narrow_regex_matches_type || |
7812 | | m_types[id] == arg_type::wide_regex_matches_type) { |
7813 | | // clang-format off |
7814 | | return on_error("Regular expression needs to be specified when reading regex_matches"); |
7815 | | // clang-format on |
7816 | | } |
7817 | | } |
7818 | | |
7819 | | constexpr const CharT* on_format_specs(std::size_t id, |
7820 | | const CharT* begin, |
7821 | | const CharT*) |
7822 | | { |
7823 | | m_parse_context.check_arg_can_be_read(id); |
7824 | | set_arg_as_read(id); |
7825 | | m_parse_context.advance_to(begin); |
7826 | | return id < num_args ? m_parse_funcs[id](m_parse_context) : begin; |
7827 | | } |
7828 | | |
7829 | | constexpr void check_args_exhausted() const |
7830 | | { |
7831 | | if (num_args == 0) { |
7832 | | return; |
7833 | | } |
7834 | | for (auto is_set : m_visited_args) { |
7835 | | if (!is_set) { |
7836 | | return on_error("Argument list not exhausted"); |
7837 | | } |
7838 | | } |
7839 | | } |
7840 | | |
7841 | | void on_error(const char* msg) const |
7842 | | { |
7843 | | SCN_UNLIKELY_ATTR |
7844 | | m_parse_context.on_error(msg); |
7845 | | } |
7846 | | |
7847 | | // Only to satisfy the concept and eliminate compiler errors, |
7848 | | // because errors are reported by failing to compile on_error above |
7849 | | // (it's not constexpr) |
7850 | | constexpr explicit operator bool() const |
7851 | | { |
7852 | | return true; |
7853 | | } |
7854 | | constexpr scan_error get_error() const |
7855 | | { |
7856 | | return {}; |
7857 | | } |
7858 | | |
7859 | | private: |
7860 | | constexpr void set_arg_as_read(size_t id) |
7861 | | { |
7862 | | if (id >= num_args) { |
7863 | | return on_error("Invalid out-of-range argument ID"); |
7864 | | } |
7865 | | if (m_visited_args[id]) { |
7866 | | return on_error("Argument with this ID already scanned"); |
7867 | | } |
7868 | | m_visited_args[id] = true; |
7869 | | } |
7870 | | |
7871 | | using parse_func = const CharT* (*)(parse_context_type&); |
7872 | | |
7873 | | parse_context_type m_parse_context; |
7874 | | parse_func m_parse_funcs[num_args > 0 ? num_args : 1]; |
7875 | | arg_type m_types[num_args > 0 ? num_args : 1]; |
7876 | | bool m_visited_args[num_args > 0 ? num_args : 1] = {false}; |
7877 | | }; |
7878 | | |
7879 | | template <typename Source, typename... Args, typename Str> |
7880 | | constexpr auto check_format_string(const Str&) |
7881 | | -> std::enable_if_t<!is_compile_string_v<Str>> |
7882 | | { |
7883 | | // TODO: SCN_ENFORE_COMPILE_STRING? |
7884 | | #if 0 // SCN_ENFORE_COMPILE_STRING |
7885 | | static_assert(dependent_false<Str>::value, |
7886 | | "SCN_ENFORCE_COMPILE_STRING requires all format " |
7887 | | "strings to use SCN_STRING."); |
7888 | | #endif |
7889 | | } |
7890 | | |
7891 | | template <typename Source, typename... Args, typename Str> |
7892 | | constexpr auto check_format_string(Str format_str) |
7893 | | -> std::enable_if_t<is_compile_string_v<Str>> |
7894 | | { |
7895 | | using char_type = typename Str::char_type; |
7896 | | |
7897 | | SCN_GCC_PUSH |
7898 | | SCN_GCC_IGNORE("-Wconversion") |
7899 | | constexpr auto s = std::basic_string_view<char_type>{format_str}; |
7900 | | SCN_GCC_POP |
7901 | | |
7902 | | using checker = format_string_checker<char_type, Source, Args...>; |
7903 | | constexpr bool invalid_format = |
7904 | | (parse_format_string<true>(s, checker(s)), true); |
7905 | | SCN_UNUSED(invalid_format); |
7906 | | } |
7907 | | |
7908 | | template <typename CharT, std::size_t N> |
7909 | | constexpr std::basic_string_view<CharT> compile_string_to_view( |
7910 | | const CharT (&s)[N]) |
7911 | | { |
7912 | | return {s, N - 1}; |
7913 | | } |
7914 | | template <typename CharT> |
7915 | | constexpr std::basic_string_view<CharT> compile_string_to_view( |
7916 | | std::basic_string_view<CharT> s) |
7917 | | { |
7918 | | return s; |
7919 | | } |
7920 | | } // namespace detail |
7921 | | |
7922 | | #define SCN_STRING_IMPL(s, base, expl) \ |
7923 | | [] { \ |
7924 | | struct SCN_COMPILE_STRING : base { \ |
7925 | | using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \ |
7926 | | SCN_MAYBE_UNUSED constexpr expl \ |
7927 | | operator ::std::basic_string_view<char_type>() const \ |
7928 | | { \ |
7929 | | return ::scn::detail::compile_string_to_view<char_type>(s); \ |
7930 | | } \ |
7931 | | }; \ |
7932 | | return SCN_COMPILE_STRING{}; \ |
7933 | | }() |
7934 | | |
7935 | | #define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, ) |
7936 | | |
7937 | | /** |
7938 | | * Compile-time format string |
7939 | | * |
7940 | | * \ingroup format-string |
7941 | | */ |
7942 | | template <typename CharT, typename Source, typename... Args> |
7943 | | class basic_scan_format_string { |
7944 | | public: |
7945 | | SCN_CLANG_PUSH |
7946 | | #if SCN_CLANG >= SCN_COMPILER(10, 0, 0) |
7947 | | SCN_CLANG_IGNORE("-Wc++20-compat") // false positive about consteval |
7948 | | #endif |
7949 | | template < |
7950 | | typename S, |
7951 | | std::enable_if_t< |
7952 | | std::is_convertible_v<const S&, std::basic_string_view<CharT>> && |
7953 | | detail::is_not_self<S, basic_scan_format_string>>* = nullptr> |
7954 | | SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s) |
7955 | | { |
7956 | | #if SCN_HAS_CONSTEVAL |
7957 | | using checker = detail::format_string_checker<CharT, Source, Args...>; |
7958 | | const auto e = detail::parse_format_string<true>(m_str, checker(s)); |
7959 | | SCN_UNUSED(e); |
7960 | | #else |
7961 | | detail::check_format_string<Source, Args...>(s); |
7962 | | #endif |
7963 | | } |
7964 | | SCN_CLANG_POP |
7965 | | |
7966 | | template < |
7967 | | typename OtherSource, |
7968 | | std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>, |
7969 | | detail::remove_cvref_t<OtherSource>> && |
7970 | | ranges::borrowed_range<Source> == |
7971 | | ranges::borrowed_range<OtherSource>>* = nullptr> |
7972 | | constexpr basic_scan_format_string( |
7973 | | const basic_scan_format_string<CharT, OtherSource, Args...>& other) |
7974 | | : m_str(other.get()) |
7975 | | { |
7976 | | } |
7977 | | |
7978 | | basic_scan_format_string(detail::basic_runtime_format_string<CharT> r) |
7979 | 17.8M | : m_str(r.str) |
7980 | 17.8M | { |
7981 | 17.8M | } scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 314k | : m_str(r.str) | 7980 | 314k | { | 7981 | 314k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 304k | : m_str(r.str) | 7980 | 304k | { | 7981 | 304k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 397k | : m_str(r.str) | 7980 | 397k | { | 7981 | 397k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 343k | : m_str(r.str) | 7980 | 343k | { | 7981 | 343k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 404k | : m_str(r.str) | 7980 | 404k | { | 7981 | 404k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 347k | : m_str(r.str) | 7980 | 347k | { | 7981 | 347k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 315k | : m_str(r.str) | 7980 | 315k | { | 7981 | 315k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 305k | : m_str(r.str) | 7980 | 305k | { | 7981 | 305k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 398k | : m_str(r.str) | 7980 | 398k | { | 7981 | 398k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 344k | : m_str(r.str) | 7980 | 344k | { | 7981 | 344k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 405k | : m_str(r.str) | 7980 | 405k | { | 7981 | 405k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 348k | : m_str(r.str) | 7980 | 348k | { | 7981 | 348k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 83.9k | : m_str(r.str) | 7980 | 83.9k | { | 7981 | 83.9k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 83.9k | : m_str(r.str) | 7980 | 83.9k | { | 7981 | 83.9k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 84.0k | : m_str(r.str) | 7980 | 84.0k | { | 7981 | 84.0k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 83.9k | : m_str(r.str) | 7980 | 83.9k | { | 7981 | 83.9k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 84.2k | : m_str(r.str) | 7980 | 84.2k | { | 7981 | 84.2k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 84.0k | : m_str(r.str) | 7980 | 84.0k | { | 7981 | 84.0k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 83.9k | : m_str(r.str) | 7980 | 83.9k | { | 7981 | 83.9k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 83.9k | : m_str(r.str) | 7980 | 83.9k | { | 7981 | 83.9k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 84.0k | : m_str(r.str) | 7980 | 84.0k | { | 7981 | 84.0k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 83.9k | : m_str(r.str) | 7980 | 83.9k | { | 7981 | 83.9k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 84.2k | : m_str(r.str) | 7980 | 84.2k | { | 7981 | 84.2k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 84.0k | : m_str(r.str) | 7980 | 84.0k | { | 7981 | 84.0k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 460k | : m_str(r.str) | 7980 | 460k | { | 7981 | 460k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 476k | : m_str(r.str) | 7980 | 476k | { | 7981 | 476k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 482k | : m_str(r.str) | 7980 | 482k | { | 7981 | 482k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 535k | : m_str(r.str) | 7980 | 535k | { | 7981 | 535k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 562k | : m_str(r.str) | 7980 | 562k | { | 7981 | 562k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 567k | : m_str(r.str) | 7980 | 567k | { | 7981 | 567k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 245k | : m_str(r.str) | 7980 | 245k | { | 7981 | 245k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 275k | : m_str(r.str) | 7980 | 275k | { | 7981 | 275k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 281k | : m_str(r.str) | 7980 | 281k | { | 7981 | 281k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 245k | : m_str(r.str) | 7980 | 245k | { | 7981 | 245k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 275k | : m_str(r.str) | 7980 | 275k | { | 7981 | 275k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 280k | : m_str(r.str) | 7980 | 280k | { | 7981 | 280k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 21.3k | : m_str(r.str) | 7980 | 21.3k | { | 7981 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 21.3k | : m_str(r.str) | 7980 | 21.3k | { | 7981 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 21.3k | : m_str(r.str) | 7980 | 21.3k | { | 7981 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 21.3k | : m_str(r.str) | 7980 | 21.3k | { | 7981 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 21.3k | : m_str(r.str) | 7980 | 21.3k | { | 7981 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 21.3k | : m_str(r.str) | 7980 | 21.3k | { | 7981 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 21.3k | : m_str(r.str) | 7980 | 21.3k | { | 7981 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 21.3k | : m_str(r.str) | 7980 | 21.3k | { | 7981 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 21.3k | : m_str(r.str) | 7980 | 21.3k | { | 7981 | 21.3k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 42.6k | : m_str(r.str) | 7980 | 42.6k | { | 7981 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 42.6k | : m_str(r.str) | 7980 | 42.6k | { | 7981 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 42.6k | : m_str(r.str) | 7980 | 42.6k | { | 7981 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 42.6k | : m_str(r.str) | 7980 | 42.6k | { | 7981 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 42.6k | : m_str(r.str) | 7980 | 42.6k | { | 7981 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 42.6k | : m_str(r.str) | 7980 | 42.6k | { | 7981 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 42.6k | : m_str(r.str) | 7980 | 42.6k | { | 7981 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 42.6k | : m_str(r.str) | 7980 | 42.6k | { | 7981 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 42.6k | : m_str(r.str) | 7980 | 42.6k | { | 7981 | 42.6k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 231k | : m_str(r.str) | 7980 | 231k | { | 7981 | 231k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 231k | : m_str(r.str) | 7980 | 231k | { | 7981 | 231k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>) Line | Count | Source | 7979 | 277k | : m_str(r.str) | 7980 | 277k | { | 7981 | 277k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 2.19M | : m_str(r.str) | 7980 | 2.19M | { | 7981 | 2.19M | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 2.19M | : m_str(r.str) | 7980 | 2.19M | { | 7981 | 2.19M | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>) Line | Count | Source | 7979 | 2.19M | : m_str(r.str) | 7980 | 2.19M | { | 7981 | 2.19M | } |
|
7982 | | |
7983 | | constexpr operator std::basic_string_view<CharT>() const |
7984 | 17.8M | { |
7985 | 17.8M | return m_str; |
7986 | 17.8M | } scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 314k | { | 7985 | 314k | return m_str; | 7986 | 314k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 304k | { | 7985 | 304k | return m_str; | 7986 | 304k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 397k | { | 7985 | 397k | return m_str; | 7986 | 397k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 343k | { | 7985 | 343k | return m_str; | 7986 | 343k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 404k | { | 7985 | 404k | return m_str; | 7986 | 404k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 347k | { | 7985 | 347k | return m_str; | 7986 | 347k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 315k | { | 7985 | 315k | return m_str; | 7986 | 315k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 305k | { | 7985 | 305k | return m_str; | 7986 | 305k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 398k | { | 7985 | 398k | return m_str; | 7986 | 398k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 344k | { | 7985 | 344k | return m_str; | 7986 | 344k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 405k | { | 7985 | 405k | return m_str; | 7986 | 405k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 348k | { | 7985 | 348k | return m_str; | 7986 | 348k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 83.9k | { | 7985 | 83.9k | return m_str; | 7986 | 83.9k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 83.9k | { | 7985 | 83.9k | return m_str; | 7986 | 83.9k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 84.0k | { | 7985 | 84.0k | return m_str; | 7986 | 84.0k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 83.9k | { | 7985 | 83.9k | return m_str; | 7986 | 83.9k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 84.2k | { | 7985 | 84.2k | return m_str; | 7986 | 84.2k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 84.0k | { | 7985 | 84.0k | return m_str; | 7986 | 84.0k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 83.9k | { | 7985 | 83.9k | return m_str; | 7986 | 83.9k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 83.9k | { | 7985 | 83.9k | return m_str; | 7986 | 83.9k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 84.0k | { | 7985 | 84.0k | return m_str; | 7986 | 84.0k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 83.9k | { | 7985 | 83.9k | return m_str; | 7986 | 83.9k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 84.2k | { | 7985 | 84.2k | return m_str; | 7986 | 84.2k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 84.0k | { | 7985 | 84.0k | return m_str; | 7986 | 84.0k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 460k | { | 7985 | 460k | return m_str; | 7986 | 460k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 476k | { | 7985 | 476k | return m_str; | 7986 | 476k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 482k | { | 7985 | 482k | return m_str; | 7986 | 482k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 535k | { | 7985 | 535k | return m_str; | 7986 | 535k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 562k | { | 7985 | 562k | return m_str; | 7986 | 562k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 567k | { | 7985 | 567k | return m_str; | 7986 | 567k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 245k | { | 7985 | 245k | return m_str; | 7986 | 245k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 275k | { | 7985 | 275k | return m_str; | 7986 | 275k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 281k | { | 7985 | 281k | return m_str; | 7986 | 281k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 245k | { | 7985 | 245k | return m_str; | 7986 | 245k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 275k | { | 7985 | 275k | return m_str; | 7986 | 275k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 280k | { | 7985 | 280k | return m_str; | 7986 | 280k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 21.3k | { | 7985 | 21.3k | return m_str; | 7986 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 21.3k | { | 7985 | 21.3k | return m_str; | 7986 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 21.3k | { | 7985 | 21.3k | return m_str; | 7986 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 21.3k | { | 7985 | 21.3k | return m_str; | 7986 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 21.3k | { | 7985 | 21.3k | return m_str; | 7986 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 21.3k | { | 7985 | 21.3k | return m_str; | 7986 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 21.3k | { | 7985 | 21.3k | return m_str; | 7986 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 21.3k | { | 7985 | 21.3k | return m_str; | 7986 | 21.3k | } |
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 21.3k | { | 7985 | 21.3k | return m_str; | 7986 | 21.3k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 42.6k | { | 7985 | 42.6k | return m_str; | 7986 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 42.6k | { | 7985 | 42.6k | return m_str; | 7986 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 42.6k | { | 7985 | 42.6k | return m_str; | 7986 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 42.6k | { | 7985 | 42.6k | return m_str; | 7986 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 42.6k | { | 7985 | 42.6k | return m_str; | 7986 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 42.6k | { | 7985 | 42.6k | return m_str; | 7986 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 42.6k | { | 7985 | 42.6k | return m_str; | 7986 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 42.6k | { | 7985 | 42.6k | return m_str; | 7986 | 42.6k | } |
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 42.6k | { | 7985 | 42.6k | return m_str; | 7986 | 42.6k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 231k | { | 7985 | 231k | return m_str; | 7986 | 231k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 231k | { | 7985 | 231k | return m_str; | 7986 | 231k | } |
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const Line | Count | Source | 7984 | 277k | { | 7985 | 277k | return m_str; | 7986 | 277k | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 2.19M | { | 7985 | 2.19M | return m_str; | 7986 | 2.19M | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 2.19M | { | 7985 | 2.19M | return m_str; | 7986 | 2.19M | } |
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const Line | Count | Source | 7984 | 2.19M | { | 7985 | 2.19M | return m_str; | 7986 | 2.19M | } |
|
7987 | | constexpr std::basic_string_view<CharT> get() const |
7988 | | { |
7989 | | return m_str; |
7990 | | } |
7991 | | |
7992 | | private: |
7993 | | std::basic_string_view<CharT> m_str; |
7994 | | }; |
7995 | | |
7996 | | namespace detail { |
7997 | | class locale_ref { |
7998 | | #if !SCN_DISABLE_LOCALE |
7999 | | public: |
8000 | 21.0M | constexpr locale_ref() = default; |
8001 | | |
8002 | | template <typename Locale> |
8003 | | explicit locale_ref(const Locale& loc); |
8004 | | |
8005 | | constexpr explicit operator bool() const noexcept |
8006 | 0 | { |
8007 | 0 | return m_locale != nullptr; |
8008 | 0 | } |
8009 | | |
8010 | | template <typename Locale> |
8011 | | Locale get() const; |
8012 | | |
8013 | | private: |
8014 | | const void* m_locale{nullptr}; |
8015 | | #else |
8016 | | public: |
8017 | | constexpr locale_ref() = default; |
8018 | | |
8019 | | template <typename T> |
8020 | | constexpr explicit locale_ref(T&&) |
8021 | | { |
8022 | | } |
8023 | | |
8024 | | constexpr explicit operator bool() const noexcept |
8025 | | { |
8026 | | return true; |
8027 | | } |
8028 | | #endif |
8029 | | }; |
8030 | | } // namespace detail |
8031 | | |
8032 | | ///////////////////////////////////////////////////////////////// |
8033 | | // scan_context |
8034 | | ///////////////////////////////////////////////////////////////// |
8035 | | |
8036 | | namespace detail { |
8037 | | template <typename I> |
8038 | | using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr); |
8039 | | template <typename I> |
8040 | | inline constexpr bool is_comparable_with_nullptr = |
8041 | | mp_valid_v<apply_cmp_with_nullptr, I>; |
8042 | | |
8043 | | template <typename Args> |
8044 | | class scan_context_base { |
8045 | | public: |
8046 | | /// Get argument at index `id` |
8047 | | constexpr auto arg(size_t id) const noexcept |
8048 | 12.1M | { |
8049 | 12.1M | return m_args.get(id); |
8050 | 12.1M | } scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::arg(unsigned long) const Line | Count | Source | 8048 | 6.54M | { | 8049 | 6.54M | return m_args.get(id); | 8050 | 6.54M | } |
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::arg(unsigned long) const Line | Count | Source | 8048 | 5.59M | { | 8049 | 5.59M | return m_args.get(id); | 8050 | 5.59M | } |
|
8051 | | |
8052 | | constexpr const Args& args() const |
8053 | 11.9k | { |
8054 | 11.9k | return m_args; |
8055 | 11.9k | } scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::args() const Line | Count | Source | 8053 | 6.17k | { | 8054 | 6.17k | return m_args; | 8055 | 6.17k | } |
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::args() const Line | Count | Source | 8053 | 5.80k | { | 8054 | 5.80k | return m_args; | 8055 | 5.80k | } |
|
8056 | | |
8057 | | SCN_NODISCARD constexpr locale_ref locale() const |
8058 | 11.6M | { |
8059 | 11.6M | return m_locale; |
8060 | 11.6M | } scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::locale() const Line | Count | Source | 8058 | 6.36M | { | 8059 | 6.36M | return m_locale; | 8060 | 6.36M | } |
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::locale() const Line | Count | Source | 8058 | 5.23M | { | 8059 | 5.23M | return m_locale; | 8060 | 5.23M | } |
|
8061 | | |
8062 | | protected: |
8063 | | scan_context_base(Args args, locale_ref loc) |
8064 | 12.5M | : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc)) |
8065 | 12.5M | { |
8066 | 12.5M | } scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::scan_context_base(scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref) Line | Count | Source | 8064 | 6.60M | : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc)) | 8065 | 6.60M | { | 8066 | 6.60M | } |
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::scan_context_base(scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref) Line | Count | Source | 8064 | 5.92M | : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc)) | 8065 | 5.92M | { | 8066 | 5.92M | } |
|
8067 | | |
8068 | | Args m_args; |
8069 | | locale_ref m_locale; |
8070 | | }; |
8071 | | } // namespace detail |
8072 | | |
8073 | | /** |
8074 | | * \defgroup ctx Contexts and scanners |
8075 | | * |
8076 | | * \brief Lower-level APIs used for scanning individual values |
8077 | | * |
8078 | | * \section user-defined Scanning user-defined types |
8079 | | * |
8080 | | * User-defined types can be scanned by specializing the class template |
8081 | | * `scn::scanner`. |
8082 | | * |
8083 | | * \code{.cpp} |
8084 | | * struct mytype { |
8085 | | * int key; |
8086 | | * std::string value; |
8087 | | * }; |
8088 | | * |
8089 | | * template <> |
8090 | | * struct scn::scanner<mytype> { |
8091 | | * template <typename ParseContext> |
8092 | | * constexpr auto parse(ParseCtx& pctx) |
8093 | | * -> scan_expected<typename ParseContext::iterator> { |
8094 | | * // parse() implementation just returning begin(): |
8095 | | * // only permits empty format specifiers |
8096 | | * return pctx.begin(); |
8097 | | * } |
8098 | | * |
8099 | | * template <typename Context> |
8100 | | * auto scan(mytype& val, Context& ctx) |
8101 | | * -> scan_expected<typename Context::iterator> { |
8102 | | * return scn::scan<int, std::string>(ctx.range(), "{}: {}") |
8103 | | * .transform([&](auto result) { |
8104 | | * std::tie(val.key, val.value) = std::move(result->values()); |
8105 | | * return result.begin(); |
8106 | | * }); |
8107 | | * } |
8108 | | * }; |
8109 | | * \endcode |
8110 | | * |
8111 | | * See also |
8112 | | * \ref g-usertypes |
8113 | | */ |
8114 | | |
8115 | | /** |
8116 | | * Scanning context. |
8117 | | * |
8118 | | * \ingroup ctx |
8119 | | */ |
8120 | | template <typename CharT> |
8121 | | class basic_scan_context : public detail::scan_context_base< |
8122 | | basic_scan_args<basic_scan_context<CharT>>> { |
8123 | | using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>; |
8124 | | |
8125 | | public: |
8126 | | /// Character type of the input |
8127 | | using char_type = CharT; |
8128 | | using buffer_type = detail::basic_scan_buffer<char_type>; |
8129 | | using range_type = typename buffer_type::range_type; |
8130 | | using iterator = ranges::iterator_t<range_type>; |
8131 | | using sentinel = ranges::sentinel_t<range_type>; |
8132 | | using parse_context_type = basic_scan_parse_context<char_type>; |
8133 | | |
8134 | | using args_type = basic_scan_args<basic_scan_context>; |
8135 | | using arg_type = basic_scan_arg<basic_scan_context>; |
8136 | | |
8137 | | /** |
8138 | | * The scanner type associated with this scanning context. |
8139 | | */ |
8140 | | template <typename T> |
8141 | | using scanner_type = scanner<T, char_type>; |
8142 | | |
8143 | | constexpr basic_scan_context(iterator curr, |
8144 | | args_type a, |
8145 | | detail::locale_ref loc = {}) |
8146 | 5.47M | : base(SCN_MOVE(a), loc), m_current(curr) |
8147 | 5.47M | { |
8148 | 5.47M | } scn::v3::basic_scan_context<char>::basic_scan_context(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref) Line | Count | Source | 8146 | 3.26M | : base(SCN_MOVE(a), loc), m_current(curr) | 8147 | 3.26M | { | 8148 | 3.26M | } |
scn::v3::basic_scan_context<wchar_t>::basic_scan_context(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref) Line | Count | Source | 8146 | 2.21M | : base(SCN_MOVE(a), loc), m_current(curr) | 8147 | 2.21M | { | 8148 | 2.21M | } |
|
8149 | | |
8150 | | basic_scan_context(const basic_scan_context&) = delete; |
8151 | | basic_scan_context& operator=(const basic_scan_context&) = delete; |
8152 | | |
8153 | | basic_scan_context(basic_scan_context&&) = default; |
8154 | | basic_scan_context& operator=(basic_scan_context&&) = default; |
8155 | | ~basic_scan_context() = default; |
8156 | | |
8157 | | /** |
8158 | | * Returns an iterator pointing to the current position in the source |
8159 | | * range. |
8160 | | */ |
8161 | | constexpr iterator begin() const |
8162 | 15.1M | { |
8163 | 15.1M | return m_current; |
8164 | 15.1M | } scn::v3::basic_scan_context<char>::begin() const Line | Count | Source | 8162 | 9.37M | { | 8163 | 9.37M | return m_current; | 8164 | 9.37M | } |
scn::v3::basic_scan_context<wchar_t>::begin() const Line | Count | Source | 8162 | 5.77M | { | 8163 | 5.77M | return m_current; | 8164 | 5.77M | } |
|
8165 | | |
8166 | | /** |
8167 | | * Returns a sentinel pointing to the end of the source range. |
8168 | | */ |
8169 | | constexpr sentinel end() const |
8170 | 5.22M | { |
8171 | 5.22M | return ranges::default_sentinel; |
8172 | 5.22M | } scn::v3::basic_scan_context<char>::end() const Line | Count | Source | 8170 | 3.18M | { | 8171 | 3.18M | return ranges::default_sentinel; | 8172 | 3.18M | } |
scn::v3::basic_scan_context<wchar_t>::end() const Line | Count | Source | 8170 | 2.04M | { | 8171 | 2.04M | return ranges::default_sentinel; | 8172 | 2.04M | } |
|
8173 | | |
8174 | | /** |
8175 | | * Returns a subrange over `[begin(), end())` |
8176 | | */ |
8177 | | constexpr auto range() const |
8178 | 5.22M | { |
8179 | 5.22M | return ranges::subrange{begin(), end()}; |
8180 | 5.22M | } scn::v3::basic_scan_context<char>::range() const Line | Count | Source | 8178 | 3.18M | { | 8179 | 3.18M | return ranges::subrange{begin(), end()}; | 8180 | 3.18M | } |
scn::v3::basic_scan_context<wchar_t>::range() const Line | Count | Source | 8178 | 2.04M | { | 8179 | 2.04M | return ranges::subrange{begin(), end()}; | 8180 | 2.04M | } |
|
8181 | | |
8182 | | /// Advances the beginning of the source range to `it` |
8183 | | void advance_to(iterator it) |
8184 | 4.44M | { |
8185 | 4.44M | m_current = SCN_MOVE(it); |
8186 | 4.44M | } scn::v3::basic_scan_context<char>::advance_to(scn::v3::detail::basic_scan_buffer<char>::forward_iterator) Line | Count | Source | 8184 | 2.92M | { | 8185 | 2.92M | m_current = SCN_MOVE(it); | 8186 | 2.92M | } |
scn::v3::basic_scan_context<wchar_t>::advance_to(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator) Line | Count | Source | 8184 | 1.52M | { | 8185 | 1.52M | m_current = SCN_MOVE(it); | 8186 | 1.52M | } |
|
8187 | | |
8188 | | private: |
8189 | | iterator m_current; |
8190 | | }; |
8191 | | |
8192 | | namespace detail { |
8193 | | template <typename T, typename ParseCtx> |
8194 | | constexpr scan_expected<typename ParseCtx::iterator> |
8195 | | scanner_parse_for_builtin_type(ParseCtx& pctx, format_specs& specs); |
8196 | | |
8197 | | template <typename T, typename Context> |
8198 | | scan_expected<typename Context::iterator> |
8199 | | scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs); |
8200 | | } // namespace detail |
8201 | | |
8202 | | ///////////////////////////////////////////////////////////////// |
8203 | | // scanner |
8204 | | ///////////////////////////////////////////////////////////////// |
8205 | | |
8206 | | /** |
8207 | | * `scanner` specialization for all built-in types |
8208 | | * |
8209 | | * \ingroup ctx |
8210 | | */ |
8211 | | template <typename T, typename CharT> |
8212 | | struct scanner<T, |
8213 | | CharT, |
8214 | | std::enable_if_t<detail::arg_type_constant<T, CharT>::value != |
8215 | | detail::arg_type::custom_type && |
8216 | | !detail::is_type_disabled<T>>> { |
8217 | | template <typename ParseCtx> |
8218 | | constexpr auto parse(ParseCtx& pctx) |
8219 | | -> scan_expected<typename ParseCtx::iterator> |
8220 | | { |
8221 | | return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs); |
8222 | | } |
8223 | | |
8224 | | template <typename Context> |
8225 | | scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const |
8226 | | { |
8227 | | return detail::scanner_scan_for_builtin_type(val, ctx, m_specs); |
8228 | | } |
8229 | | |
8230 | | constexpr auto& _format_specs() |
8231 | | { |
8232 | | return m_specs; |
8233 | | } |
8234 | | |
8235 | | private: |
8236 | | detail::format_specs m_specs; |
8237 | | }; |
8238 | | |
8239 | | namespace detail { |
8240 | | template <typename T, typename ParseCtx> |
8241 | | constexpr scan_expected<typename ParseCtx::iterator> |
8242 | | scanner_parse_for_builtin_type(ParseCtx& pctx, format_specs& specs) |
8243 | | { |
8244 | | using char_type = typename ParseCtx::char_type; |
8245 | | |
8246 | | auto begin = pctx.begin(); |
8247 | | const auto end = pctx.end(); |
8248 | | if (begin == end) { |
8249 | | return begin; |
8250 | | } |
8251 | | |
8252 | | using handler_type = specs_setter; |
8253 | | const auto type = arg_type_constant<T, char_type>::value; |
8254 | | auto checker = |
8255 | | detail::specs_checker<handler_type>(handler_type(specs), type); |
8256 | | |
8257 | | const auto it = |
8258 | | detail::parse_format_specs(to_address(begin), to_address(end), checker); |
8259 | | if (auto e = checker.get_error(); SCN_UNLIKELY(!e)) { |
8260 | | return unexpected(e); |
8261 | | } |
8262 | | |
8263 | | switch (type) { |
8264 | | case arg_type::none_type: |
8265 | | SCN_FALLTHROUGH; |
8266 | | case arg_type::custom_type: |
8267 | | SCN_ENSURE(false); |
8268 | | break; |
8269 | | |
8270 | | case arg_type::bool_type: |
8271 | | check_bool_type_specs(specs, checker); |
8272 | | break; |
8273 | | |
8274 | | case arg_type::schar_type: |
8275 | | case arg_type::short_type: |
8276 | | case arg_type::int_type: |
8277 | | case arg_type::long_type: |
8278 | | case arg_type::llong_type: |
8279 | | case arg_type::uchar_type: |
8280 | | case arg_type::ushort_type: |
8281 | | case arg_type::uint_type: |
8282 | | case arg_type::ulong_type: |
8283 | | case arg_type::ullong_type: |
8284 | | check_int_type_specs(specs, checker); |
8285 | | break; |
8286 | | |
8287 | | case arg_type::narrow_character_type: |
8288 | | case arg_type::wide_character_type: |
8289 | | case arg_type::code_point_type: |
8290 | | check_char_type_specs(specs, checker); |
8291 | | break; |
8292 | | |
8293 | | case arg_type::float_type: |
8294 | | case arg_type::double_type: |
8295 | | case arg_type::ldouble_type: |
8296 | | check_float_type_specs(specs, checker); |
8297 | | break; |
8298 | | |
8299 | | case arg_type::narrow_string_type: |
8300 | | case arg_type::narrow_string_view_type: |
8301 | | case arg_type::wide_string_type: |
8302 | | case arg_type::wide_string_view_type: |
8303 | | check_string_type_specs(specs, checker); |
8304 | | break; |
8305 | | |
8306 | | case arg_type::pointer_type: |
8307 | | check_pointer_type_specs(specs, checker); |
8308 | | break; |
8309 | | |
8310 | | case arg_type::narrow_regex_matches_type: |
8311 | | case arg_type::wide_regex_matches_type: |
8312 | | check_regex_type_specs(specs, checker); |
8313 | | break; |
8314 | | |
8315 | | SCN_CLANG_PUSH |
8316 | | SCN_CLANG_IGNORE("-Wcovered-switch-default") |
8317 | | |
8318 | | default: |
8319 | | SCN_ENSURE(false); |
8320 | | SCN_UNREACHABLE; |
8321 | | |
8322 | | SCN_CLANG_POP |
8323 | | } |
8324 | | |
8325 | | if (auto e = checker.get_error(); SCN_UNLIKELY(!e)) { |
8326 | | return unexpected(e); |
8327 | | } |
8328 | | |
8329 | | return {it}; |
8330 | | } |
8331 | | } // namespace detail |
8332 | | |
8333 | | /** |
8334 | | * Type for discarding any scanned value. |
8335 | | * Example: |
8336 | | * |
8337 | | * \code{.cpp} |
8338 | | * auto r = scn::scan<scn::discard<int>>("42", "{}"); |
8339 | | * // r.has_value() == true |
8340 | | * // decltype(r->value()) is scn::discard<int> |
8341 | | * \endcode |
8342 | | * |
8343 | | * \ingroup format-string |
8344 | | */ |
8345 | | template <typename T> |
8346 | | struct discard { |
8347 | | constexpr discard() = default; |
8348 | | |
8349 | | constexpr discard(const T&) noexcept {} |
8350 | | constexpr discard(T&&) noexcept {} |
8351 | | |
8352 | | constexpr discard& operator=(const T&) noexcept |
8353 | | { |
8354 | | return *this; |
8355 | | } |
8356 | | constexpr discard& operator=(T&&) noexcept |
8357 | | { |
8358 | | return *this; |
8359 | | } |
8360 | | }; |
8361 | | |
8362 | | template <typename T, typename CharT> |
8363 | | struct scanner<discard<T>, CharT> : public scanner<T, CharT> { |
8364 | | template <typename Context> |
8365 | | auto scan(discard<T>&, Context& ctx) const |
8366 | | { |
8367 | | T val{}; |
8368 | | return scanner<T, CharT>::scan(val, ctx); |
8369 | | } |
8370 | | }; |
8371 | | |
8372 | | namespace detail { |
8373 | | template <typename Range> |
8374 | | scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace( |
8375 | | Range r, |
8376 | | bool allow_exhaustion); |
8377 | | |
8378 | | #define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \ |
8379 | | extern template scan_expected<Context::iterator> \ |
8380 | | scanner_scan_for_builtin_type(T&, Context&, const format_specs&); |
8381 | | |
8382 | | #define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context) \ |
8383 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context) \ |
8384 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context) \ |
8385 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context) \ |
8386 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context) \ |
8387 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context) \ |
8388 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context) \ |
8389 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context) \ |
8390 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context) \ |
8391 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context) \ |
8392 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context) \ |
8393 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context) \ |
8394 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context) \ |
8395 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context) \ |
8396 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context) \ |
8397 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context) \ |
8398 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context) \ |
8399 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context) \ |
8400 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context) \ |
8401 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE( \ |
8402 | | std::basic_string_view<Context::char_type>, Context) \ |
8403 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context) \ |
8404 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context) \ |
8405 | | extern template scan_expected<ranges::iterator_t<Context::range_type>> \ |
8406 | | internal_skip_classic_whitespace(Context::range_type, bool); |
8407 | | |
8408 | | SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context) |
8409 | | |
8410 | | } // namespace detail |
8411 | | |
8412 | | ///////////////////////////////////////////////////////////////// |
8413 | | // visit_scan_arg |
8414 | | ///////////////////////////////////////////////////////////////// |
8415 | | |
8416 | | /** |
8417 | | * Visit a `basic_scan_arg` with `Visitor`. |
8418 | | * Calls `vis` with the value stored in `arg`. |
8419 | | * If no value is contained in `arg`, calls `vis` with a `monostate`. |
8420 | | * |
8421 | | * \return `vis(x)`, where `x` is either a reference to the value contained |
8422 | | * in `arg`, or a `basic_scan_arg::handle`. |
8423 | | */ |
8424 | | template <typename Visitor, typename Ctx> |
8425 | | constexpr decltype(auto) visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg) |
8426 | 19.5M | { |
8427 | 19.5M | #define SCN_VISIT(Type) \ |
8428 | 175M | if constexpr (!detail::is_type_disabled<Type>) { \ |
8429 | 175M | return vis(*static_cast<Type*>(arg.m_value.ref_value)); \ |
8430 | 175M | } \ |
8431 | 175M | else { \ |
8432 | 175M | return vis(monostate_val); \ |
8433 | 175M | } |
8434 | | |
8435 | 19.5M | monostate monostate_val{}; |
8436 | | |
8437 | 19.5M | switch (arg.m_type) { |
8438 | 784k | case detail::arg_type::schar_type: |
8439 | 784k | SCN_VISIT(signed char); |
8440 | 784k | case detail::arg_type::short_type: |
8441 | 784k | SCN_VISIT(short); |
8442 | 1.76M | case detail::arg_type::int_type: |
8443 | 1.76M | SCN_VISIT(int); |
8444 | 1.76M | case detail::arg_type::long_type: |
8445 | 1.76M | SCN_VISIT(long); |
8446 | 2.73M | case detail::arg_type::llong_type: |
8447 | 2.73M | SCN_VISIT(long long); |
8448 | 3.49M | case detail::arg_type::uchar_type: |
8449 | 3.49M | SCN_VISIT(unsigned char); |
8450 | 3.49M | case detail::arg_type::ushort_type: |
8451 | 3.49M | SCN_VISIT(unsigned short); |
8452 | 4.35M | case detail::arg_type::uint_type: |
8453 | 4.35M | SCN_VISIT(unsigned); |
8454 | 4.35M | case detail::arg_type::ulong_type: |
8455 | 4.35M | SCN_VISIT(unsigned long); |
8456 | 5.20M | case detail::arg_type::ullong_type: |
8457 | 5.20M | SCN_VISIT(unsigned long long); |
8458 | 5.22M | case detail::arg_type::pointer_type: |
8459 | 5.22M | SCN_VISIT(void*); |
8460 | 5.24M | case detail::arg_type::bool_type: |
8461 | 5.24M | SCN_VISIT(bool); |
8462 | 5.26M | case detail::arg_type::narrow_character_type: |
8463 | 5.26M | SCN_VISIT(char); |
8464 | 5.26M | case detail::arg_type::wide_character_type: |
8465 | 5.26M | SCN_VISIT(wchar_t); |
8466 | 5.26M | case detail::arg_type::code_point_type: |
8467 | 5.26M | SCN_VISIT(char32_t); |
8468 | 6.90M | case detail::arg_type::float_type: |
8469 | 6.90M | SCN_VISIT(float); |
8470 | 8.67M | case detail::arg_type::double_type: |
8471 | 8.67M | SCN_VISIT(double); |
8472 | 10.4M | case detail::arg_type::ldouble_type: |
8473 | 10.4M | SCN_VISIT(long double); |
8474 | 10.7M | case detail::arg_type::narrow_string_view_type: |
8475 | 10.7M | SCN_VISIT(std::string_view); |
8476 | 11.3M | case detail::arg_type::narrow_string_type: |
8477 | 11.3M | SCN_VISIT(std::string); |
8478 | 14.0M | case detail::arg_type::wide_string_view_type: |
8479 | 14.0M | SCN_VISIT(std::wstring_view); |
8480 | 19.5M | case detail::arg_type::wide_string_type: |
8481 | 19.5M | SCN_VISIT(std::wstring); |
8482 | 19.5M | case detail::arg_type::narrow_regex_matches_type: |
8483 | 19.5M | SCN_VISIT(regex_matches); |
8484 | 19.5M | case detail::arg_type::wide_regex_matches_type: |
8485 | 19.5M | SCN_VISIT(wregex_matches); |
8486 | | |
8487 | 19.5M | case detail::arg_type::custom_type: |
8488 | 19.5M | #if !SCN_DISABLE_TYPE_CUSTOM |
8489 | 19.5M | return vis( |
8490 | 19.5M | typename Ctx::arg_type::handle(arg.m_value.custom_value)); |
8491 | | #else |
8492 | | return vis(monostate_val); |
8493 | | #endif |
8494 | | |
8495 | 0 | SCN_CLANG_PUSH |
8496 | 0 | SCN_CLANG_IGNORE("-Wcovered-switch-default") |
8497 | | |
8498 | 0 | SCN_UNLIKELY_ATTR |
8499 | 0 | case detail::arg_type::none_type: |
8500 | 0 | default: { |
8501 | 0 | return vis(monostate_val); |
8502 | 0 | } |
8503 | | |
8504 | 19.5M | SCN_CLANG_POP |
8505 | 19.5M | } |
8506 | | |
8507 | 0 | #undef SCN_VISIT |
8508 | | |
8509 | 0 | SCN_ENSURE(false); |
8510 | 0 | SCN_UNREACHABLE; |
8511 | 0 | } decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&) Line | Count | Source | 8426 | 1.27M | { | 8427 | 1.27M | #define SCN_VISIT(Type) \ | 8428 | 1.27M | if constexpr (!detail::is_type_disabled<Type>) { \ | 8429 | 1.27M | return vis(*static_cast<Type*>(arg.m_value.ref_value)); \ | 8430 | 1.27M | } \ | 8431 | 1.27M | else { \ | 8432 | 1.27M | return vis(monostate_val); \ | 8433 | 1.27M | } | 8434 | | | 8435 | 1.27M | monostate monostate_val{}; | 8436 | | | 8437 | 1.27M | switch (arg.m_type) { | 8438 | 79.3k | case detail::arg_type::schar_type: | 8439 | 79.3k | SCN_VISIT(signed char); | 8440 | 79.3k | case detail::arg_type::short_type: | 8441 | 79.3k | SCN_VISIT(short); | 8442 | 171k | case detail::arg_type::int_type: | 8443 | 171k | SCN_VISIT(int); | 8444 | 171k | case detail::arg_type::long_type: | 8445 | 171k | SCN_VISIT(long); | 8446 | 265k | case detail::arg_type::llong_type: | 8447 | 265k | SCN_VISIT(long long); | 8448 | 336k | case detail::arg_type::uchar_type: | 8449 | 336k | SCN_VISIT(unsigned char); | 8450 | 336k | case detail::arg_type::ushort_type: | 8451 | 336k | SCN_VISIT(unsigned short); | 8452 | 415k | case detail::arg_type::uint_type: | 8453 | 415k | SCN_VISIT(unsigned); | 8454 | 415k | case detail::arg_type::ulong_type: | 8455 | 415k | SCN_VISIT(unsigned long); | 8456 | 495k | case detail::arg_type::ullong_type: | 8457 | 495k | SCN_VISIT(unsigned long long); | 8458 | 495k | case detail::arg_type::pointer_type: | 8459 | 495k | SCN_VISIT(void*); | 8460 | 496k | case detail::arg_type::bool_type: | 8461 | 496k | SCN_VISIT(bool); | 8462 | 497k | case detail::arg_type::narrow_character_type: | 8463 | 497k | SCN_VISIT(char); | 8464 | 497k | case detail::arg_type::wide_character_type: | 8465 | 497k | SCN_VISIT(wchar_t); | 8466 | 497k | case detail::arg_type::code_point_type: | 8467 | 497k | SCN_VISIT(char32_t); | 8468 | 645k | case detail::arg_type::float_type: | 8469 | 645k | SCN_VISIT(float); | 8470 | 801k | case detail::arg_type::double_type: | 8471 | 801k | SCN_VISIT(double); | 8472 | 959k | case detail::arg_type::ldouble_type: | 8473 | 959k | SCN_VISIT(long double); | 8474 | 1.11M | case detail::arg_type::narrow_string_view_type: | 8475 | 1.11M | SCN_VISIT(std::string_view); | 8476 | 1.27M | case detail::arg_type::narrow_string_type: | 8477 | 1.27M | SCN_VISIT(std::string); | 8478 | 1.27M | case detail::arg_type::wide_string_view_type: | 8479 | 1.27M | SCN_VISIT(std::wstring_view); | 8480 | 1.27M | case detail::arg_type::wide_string_type: | 8481 | 1.27M | SCN_VISIT(std::wstring); | 8482 | 1.27M | case detail::arg_type::narrow_regex_matches_type: | 8483 | 1.27M | SCN_VISIT(regex_matches); | 8484 | 1.27M | case detail::arg_type::wide_regex_matches_type: | 8485 | 1.27M | SCN_VISIT(wregex_matches); | 8486 | | | 8487 | 1.27M | case detail::arg_type::custom_type: | 8488 | 1.27M | #if !SCN_DISABLE_TYPE_CUSTOM | 8489 | 1.27M | return vis( | 8490 | 1.27M | typename Ctx::arg_type::handle(arg.m_value.custom_value)); | 8491 | | #else | 8492 | | return vis(monostate_val); | 8493 | | #endif | 8494 | | | 8495 | 0 | SCN_CLANG_PUSH | 8496 | 0 | SCN_CLANG_IGNORE("-Wcovered-switch-default") | 8497 | | | 8498 | 0 | SCN_UNLIKELY_ATTR | 8499 | 0 | case detail::arg_type::none_type: | 8500 | 0 | default: { | 8501 | 0 | return vis(monostate_val); | 8502 | 0 | } | 8503 | | | 8504 | 1.27M | SCN_CLANG_POP | 8505 | 1.27M | } | 8506 | | | 8507 | 0 | #undef SCN_VISIT | 8508 | | | 8509 | 0 | SCN_ENSURE(false); | 8510 | 0 | SCN_UNREACHABLE; | 8511 | 0 | } |
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&) Line | Count | Source | 8426 | 1.19M | { | 8427 | 1.19M | #define SCN_VISIT(Type) \ | 8428 | 1.19M | if constexpr (!detail::is_type_disabled<Type>) { \ | 8429 | 1.19M | return vis(*static_cast<Type*>(arg.m_value.ref_value)); \ | 8430 | 1.19M | } \ | 8431 | 1.19M | else { \ | 8432 | 1.19M | return vis(monostate_val); \ | 8433 | 1.19M | } | 8434 | | | 8435 | 1.19M | monostate monostate_val{}; | 8436 | | | 8437 | 1.19M | switch (arg.m_type) { | 8438 | 79.2k | case detail::arg_type::schar_type: | 8439 | 79.2k | SCN_VISIT(signed char); | 8440 | 79.2k | case detail::arg_type::short_type: | 8441 | 79.2k | SCN_VISIT(short); | 8442 | 169k | case detail::arg_type::int_type: | 8443 | 169k | SCN_VISIT(int); | 8444 | 169k | case detail::arg_type::long_type: | 8445 | 169k | SCN_VISIT(long); | 8446 | 261k | case detail::arg_type::llong_type: | 8447 | 261k | SCN_VISIT(long long); | 8448 | 331k | case detail::arg_type::uchar_type: | 8449 | 331k | SCN_VISIT(unsigned char); | 8450 | 331k | case detail::arg_type::ushort_type: | 8451 | 331k | SCN_VISIT(unsigned short); | 8452 | 410k | case detail::arg_type::uint_type: | 8453 | 410k | SCN_VISIT(unsigned); | 8454 | 410k | case detail::arg_type::ulong_type: | 8455 | 410k | SCN_VISIT(unsigned long); | 8456 | 489k | case detail::arg_type::ullong_type: | 8457 | 489k | SCN_VISIT(unsigned long long); | 8458 | 489k | case detail::arg_type::pointer_type: | 8459 | 489k | SCN_VISIT(void*); | 8460 | 489k | case detail::arg_type::bool_type: | 8461 | 489k | SCN_VISIT(bool); | 8462 | 489k | case detail::arg_type::narrow_character_type: | 8463 | 489k | SCN_VISIT(char); | 8464 | 489k | case detail::arg_type::wide_character_type: | 8465 | 489k | SCN_VISIT(wchar_t); | 8466 | 489k | case detail::arg_type::code_point_type: | 8467 | 489k | SCN_VISIT(char32_t); | 8468 | 652k | case detail::arg_type::float_type: | 8469 | 652k | SCN_VISIT(float); | 8470 | 824k | case detail::arg_type::double_type: | 8471 | 824k | SCN_VISIT(double); | 8472 | 997k | case detail::arg_type::ldouble_type: | 8473 | 997k | SCN_VISIT(long double); | 8474 | 997k | case detail::arg_type::narrow_string_view_type: | 8475 | 997k | SCN_VISIT(std::string_view); | 8476 | 1.19M | case detail::arg_type::narrow_string_type: | 8477 | 1.19M | SCN_VISIT(std::string); | 8478 | 1.19M | case detail::arg_type::wide_string_view_type: | 8479 | 1.19M | SCN_VISIT(std::wstring_view); | 8480 | 1.19M | case detail::arg_type::wide_string_type: | 8481 | 1.19M | SCN_VISIT(std::wstring); | 8482 | 1.19M | case detail::arg_type::narrow_regex_matches_type: | 8483 | 1.19M | SCN_VISIT(regex_matches); | 8484 | 1.19M | case detail::arg_type::wide_regex_matches_type: | 8485 | 1.19M | SCN_VISIT(wregex_matches); | 8486 | | | 8487 | 1.19M | case detail::arg_type::custom_type: | 8488 | 1.19M | #if !SCN_DISABLE_TYPE_CUSTOM | 8489 | 1.19M | return vis( | 8490 | 1.19M | typename Ctx::arg_type::handle(arg.m_value.custom_value)); | 8491 | | #else | 8492 | | return vis(monostate_val); | 8493 | | #endif | 8494 | | | 8495 | 0 | SCN_CLANG_PUSH | 8496 | 0 | SCN_CLANG_IGNORE("-Wcovered-switch-default") | 8497 | | | 8498 | 0 | SCN_UNLIKELY_ATTR | 8499 | 0 | case detail::arg_type::none_type: | 8500 | 0 | default: { | 8501 | 0 | return vis(monostate_val); | 8502 | 0 | } | 8503 | | | 8504 | 1.19M | SCN_CLANG_POP | 8505 | 1.19M | } | 8506 | | | 8507 | 0 | #undef SCN_VISIT | 8508 | | | 8509 | 0 | SCN_ENSURE(false); | 8510 | 0 | SCN_UNREACHABLE; | 8511 | 0 | } |
Unexecuted instantiation: decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&) decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&) Line | Count | Source | 8426 | 3.17M | { | 8427 | 3.17M | #define SCN_VISIT(Type) \ | 8428 | 3.17M | if constexpr (!detail::is_type_disabled<Type>) { \ | 8429 | 3.17M | return vis(*static_cast<Type*>(arg.m_value.ref_value)); \ | 8430 | 3.17M | } \ | 8431 | 3.17M | else { \ | 8432 | 3.17M | return vis(monostate_val); \ | 8433 | 3.17M | } | 8434 | | | 8435 | 3.17M | monostate monostate_val{}; | 8436 | | | 8437 | 3.17M | switch (arg.m_type) { | 8438 | 249k | case detail::arg_type::schar_type: | 8439 | 249k | SCN_VISIT(signed char); | 8440 | 249k | case detail::arg_type::short_type: | 8441 | 249k | SCN_VISIT(short); | 8442 | 586k | case detail::arg_type::int_type: | 8443 | 586k | SCN_VISIT(int); | 8444 | 586k | case detail::arg_type::long_type: | 8445 | 586k | SCN_VISIT(long); | 8446 | 916k | case detail::arg_type::llong_type: | 8447 | 916k | SCN_VISIT(long long); | 8448 | 1.16M | case detail::arg_type::uchar_type: | 8449 | 1.16M | SCN_VISIT(unsigned char); | 8450 | 1.16M | case detail::arg_type::ushort_type: | 8451 | 1.16M | SCN_VISIT(unsigned short); | 8452 | 1.45M | case detail::arg_type::uint_type: | 8453 | 1.45M | SCN_VISIT(unsigned); | 8454 | 1.45M | case detail::arg_type::ulong_type: | 8455 | 1.45M | SCN_VISIT(unsigned long); | 8456 | 1.73M | case detail::arg_type::ullong_type: | 8457 | 1.73M | SCN_VISIT(unsigned long long); | 8458 | 1.74M | case detail::arg_type::pointer_type: | 8459 | 1.74M | SCN_VISIT(void*); | 8460 | 1.76M | case detail::arg_type::bool_type: | 8461 | 1.76M | SCN_VISIT(bool); | 8462 | 1.77M | case detail::arg_type::narrow_character_type: | 8463 | 1.77M | SCN_VISIT(char); | 8464 | 1.77M | case detail::arg_type::wide_character_type: | 8465 | 1.77M | SCN_VISIT(wchar_t); | 8466 | 1.77M | case detail::arg_type::code_point_type: | 8467 | 1.77M | SCN_VISIT(char32_t); | 8468 | 2.13M | case detail::arg_type::float_type: | 8469 | 2.13M | SCN_VISIT(float); | 8470 | 2.52M | case detail::arg_type::double_type: | 8471 | 2.52M | SCN_VISIT(double); | 8472 | 2.90M | case detail::arg_type::ldouble_type: | 8473 | 2.90M | SCN_VISIT(long double); | 8474 | 3.03M | case detail::arg_type::narrow_string_view_type: | 8475 | 3.03M | SCN_VISIT(std::string_view); | 8476 | 3.16M | case detail::arg_type::narrow_string_type: | 8477 | 3.16M | SCN_VISIT(std::string); | 8478 | 3.16M | case detail::arg_type::wide_string_view_type: | 8479 | 3.16M | SCN_VISIT(std::wstring_view); | 8480 | 3.17M | case detail::arg_type::wide_string_type: | 8481 | 3.17M | SCN_VISIT(std::wstring); | 8482 | 3.17M | case detail::arg_type::narrow_regex_matches_type: | 8483 | 3.17M | SCN_VISIT(regex_matches); | 8484 | 3.17M | case detail::arg_type::wide_regex_matches_type: | 8485 | 3.17M | SCN_VISIT(wregex_matches); | 8486 | | | 8487 | 3.17M | case detail::arg_type::custom_type: | 8488 | 3.17M | #if !SCN_DISABLE_TYPE_CUSTOM | 8489 | 3.17M | return vis( | 8490 | 3.17M | typename Ctx::arg_type::handle(arg.m_value.custom_value)); | 8491 | | #else | 8492 | | return vis(monostate_val); | 8493 | | #endif | 8494 | | | 8495 | 0 | SCN_CLANG_PUSH | 8496 | 0 | SCN_CLANG_IGNORE("-Wcovered-switch-default") | 8497 | | | 8498 | 0 | SCN_UNLIKELY_ATTR | 8499 | 0 | case detail::arg_type::none_type: | 8500 | 0 | default: { | 8501 | 0 | return vis(monostate_val); | 8502 | 0 | } | 8503 | | | 8504 | 3.17M | SCN_CLANG_POP | 8505 | 3.17M | } | 8506 | | | 8507 | 0 | #undef SCN_VISIT | 8508 | | | 8509 | 0 | SCN_ENSURE(false); | 8510 | 0 | SCN_UNREACHABLE; | 8511 | 0 | } |
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&) Line | Count | Source | 8426 | 3.18M | { | 8427 | 3.18M | #define SCN_VISIT(Type) \ | 8428 | 3.18M | if constexpr (!detail::is_type_disabled<Type>) { \ | 8429 | 3.18M | return vis(*static_cast<Type*>(arg.m_value.ref_value)); \ | 8430 | 3.18M | } \ | 8431 | 3.18M | else { \ | 8432 | 3.18M | return vis(monostate_val); \ | 8433 | 3.18M | } | 8434 | | | 8435 | 3.18M | monostate monostate_val{}; | 8436 | | | 8437 | 3.18M | switch (arg.m_type) { | 8438 | 250k | case detail::arg_type::schar_type: | 8439 | 250k | SCN_VISIT(signed char); | 8440 | 250k | case detail::arg_type::short_type: | 8441 | 250k | SCN_VISIT(short); | 8442 | 575k | case detail::arg_type::int_type: | 8443 | 575k | SCN_VISIT(int); | 8444 | 575k | case detail::arg_type::long_type: | 8445 | 575k | SCN_VISIT(long); | 8446 | 907k | case detail::arg_type::llong_type: | 8447 | 907k | SCN_VISIT(long long); | 8448 | 1.15M | case detail::arg_type::uchar_type: | 8449 | 1.15M | SCN_VISIT(unsigned char); | 8450 | 1.15M | case detail::arg_type::ushort_type: | 8451 | 1.15M | SCN_VISIT(unsigned short); | 8452 | 1.43M | case detail::arg_type::uint_type: | 8453 | 1.43M | SCN_VISIT(unsigned); | 8454 | 1.43M | case detail::arg_type::ulong_type: | 8455 | 1.43M | SCN_VISIT(unsigned long); | 8456 | 1.71M | case detail::arg_type::ullong_type: | 8457 | 1.71M | SCN_VISIT(unsigned long long); | 8458 | 1.71M | case detail::arg_type::pointer_type: | 8459 | 1.71M | SCN_VISIT(void*); | 8460 | 1.71M | case detail::arg_type::bool_type: | 8461 | 1.71M | SCN_VISIT(bool); | 8462 | 1.71M | case detail::arg_type::narrow_character_type: | 8463 | 1.71M | SCN_VISIT(char); | 8464 | 1.71M | case detail::arg_type::wide_character_type: | 8465 | 1.71M | SCN_VISIT(wchar_t); | 8466 | 1.71M | case detail::arg_type::code_point_type: | 8467 | 1.71M | SCN_VISIT(char32_t); | 8468 | 2.14M | case detail::arg_type::float_type: | 8469 | 2.14M | SCN_VISIT(float); | 8470 | 2.59M | case detail::arg_type::double_type: | 8471 | 2.59M | SCN_VISIT(double); | 8472 | 3.04M | case detail::arg_type::ldouble_type: | 8473 | 3.04M | SCN_VISIT(long double); | 8474 | 3.04M | case detail::arg_type::narrow_string_view_type: | 8475 | 3.04M | SCN_VISIT(std::string_view); | 8476 | 3.18M | case detail::arg_type::narrow_string_type: | 8477 | 3.18M | SCN_VISIT(std::string); | 8478 | 3.18M | case detail::arg_type::wide_string_view_type: | 8479 | 3.18M | SCN_VISIT(std::wstring_view); | 8480 | 3.18M | case detail::arg_type::wide_string_type: | 8481 | 3.18M | SCN_VISIT(std::wstring); | 8482 | 3.18M | case detail::arg_type::narrow_regex_matches_type: | 8483 | 3.18M | SCN_VISIT(regex_matches); | 8484 | 3.18M | case detail::arg_type::wide_regex_matches_type: | 8485 | 3.18M | SCN_VISIT(wregex_matches); | 8486 | | | 8487 | 3.18M | case detail::arg_type::custom_type: | 8488 | 3.18M | #if !SCN_DISABLE_TYPE_CUSTOM | 8489 | 3.18M | return vis( | 8490 | 3.18M | typename Ctx::arg_type::handle(arg.m_value.custom_value)); | 8491 | | #else | 8492 | | return vis(monostate_val); | 8493 | | #endif | 8494 | | | 8495 | 0 | SCN_CLANG_PUSH | 8496 | 0 | SCN_CLANG_IGNORE("-Wcovered-switch-default") | 8497 | | | 8498 | 0 | SCN_UNLIKELY_ATTR | 8499 | 0 | case detail::arg_type::none_type: | 8500 | 0 | default: { | 8501 | 0 | return vis(monostate_val); | 8502 | 0 | } | 8503 | | | 8504 | 3.18M | SCN_CLANG_POP | 8505 | 3.18M | } | 8506 | | | 8507 | 0 | #undef SCN_VISIT | 8508 | | | 8509 | 0 | SCN_ENSURE(false); | 8510 | 0 | SCN_UNREACHABLE; | 8511 | 0 | } |
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&) Line | Count | Source | 8426 | 3.55M | { | 8427 | 3.55M | #define SCN_VISIT(Type) \ | 8428 | 3.55M | if constexpr (!detail::is_type_disabled<Type>) { \ | 8429 | 3.55M | return vis(*static_cast<Type*>(arg.m_value.ref_value)); \ | 8430 | 3.55M | } \ | 8431 | 3.55M | else { \ | 8432 | 3.55M | return vis(monostate_val); \ | 8433 | 3.55M | } | 8434 | | | 8435 | 3.55M | monostate monostate_val{}; | 8436 | | | 8437 | 3.55M | switch (arg.m_type) { | 8438 | 12.6k | case detail::arg_type::schar_type: | 8439 | 12.6k | SCN_VISIT(signed char); | 8440 | 12.6k | case detail::arg_type::short_type: | 8441 | 12.6k | SCN_VISIT(short); | 8442 | 25.9k | case detail::arg_type::int_type: | 8443 | 25.9k | SCN_VISIT(int); | 8444 | 25.9k | case detail::arg_type::long_type: | 8445 | 25.9k | SCN_VISIT(long); | 8446 | 38.6k | case detail::arg_type::llong_type: | 8447 | 38.6k | SCN_VISIT(long long); | 8448 | 51.2k | case detail::arg_type::uchar_type: | 8449 | 51.2k | SCN_VISIT(unsigned char); | 8450 | 51.2k | case detail::arg_type::ushort_type: | 8451 | 51.2k | SCN_VISIT(unsigned short); | 8452 | 64.5k | case detail::arg_type::uint_type: | 8453 | 64.5k | SCN_VISIT(unsigned); | 8454 | 64.5k | case detail::arg_type::ulong_type: | 8455 | 64.5k | SCN_VISIT(unsigned long); | 8456 | 77.2k | case detail::arg_type::ullong_type: | 8457 | 77.2k | SCN_VISIT(unsigned long long); | 8458 | 77.8k | case detail::arg_type::pointer_type: | 8459 | 77.8k | SCN_VISIT(void*); | 8460 | 78.4k | case detail::arg_type::bool_type: | 8461 | 78.4k | SCN_VISIT(bool); | 8462 | 78.4k | case detail::arg_type::narrow_character_type: | 8463 | 78.4k | SCN_VISIT(char); | 8464 | 79.0k | case detail::arg_type::wide_character_type: | 8465 | 79.0k | SCN_VISIT(wchar_t); | 8466 | 79.0k | case detail::arg_type::code_point_type: | 8467 | 79.0k | SCN_VISIT(char32_t); | 8468 | 147k | case detail::arg_type::float_type: | 8469 | 147k | SCN_VISIT(float); | 8470 | 230k | case detail::arg_type::double_type: | 8471 | 230k | SCN_VISIT(double); | 8472 | 316k | case detail::arg_type::ldouble_type: | 8473 | 316k | SCN_VISIT(long double); | 8474 | 316k | case detail::arg_type::narrow_string_view_type: | 8475 | 316k | SCN_VISIT(std::string_view); | 8476 | 317k | case detail::arg_type::narrow_string_type: | 8477 | 317k | SCN_VISIT(std::string); | 8478 | 1.93M | case detail::arg_type::wide_string_view_type: | 8479 | 1.93M | SCN_VISIT(std::wstring_view); | 8480 | 3.55M | case detail::arg_type::wide_string_type: | 8481 | 3.55M | SCN_VISIT(std::wstring); | 8482 | 3.55M | case detail::arg_type::narrow_regex_matches_type: | 8483 | 3.55M | SCN_VISIT(regex_matches); | 8484 | 3.55M | case detail::arg_type::wide_regex_matches_type: | 8485 | 3.55M | SCN_VISIT(wregex_matches); | 8486 | | | 8487 | 3.55M | case detail::arg_type::custom_type: | 8488 | 3.55M | #if !SCN_DISABLE_TYPE_CUSTOM | 8489 | 3.55M | return vis( | 8490 | 3.55M | typename Ctx::arg_type::handle(arg.m_value.custom_value)); | 8491 | | #else | 8492 | | return vis(monostate_val); | 8493 | | #endif | 8494 | | | 8495 | 0 | SCN_CLANG_PUSH | 8496 | 0 | SCN_CLANG_IGNORE("-Wcovered-switch-default") | 8497 | | | 8498 | 0 | SCN_UNLIKELY_ATTR | 8499 | 0 | case detail::arg_type::none_type: | 8500 | 0 | default: { | 8501 | 0 | return vis(monostate_val); | 8502 | 0 | } | 8503 | | | 8504 | 3.55M | SCN_CLANG_POP | 8505 | 3.55M | } | 8506 | | | 8507 | 0 | #undef SCN_VISIT | 8508 | | | 8509 | 0 | SCN_ENSURE(false); | 8510 | 0 | SCN_UNREACHABLE; | 8511 | 0 | } |
Unexecuted instantiation: decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&) decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&) Line | Count | Source | 8426 | 3.18M | { | 8427 | 3.18M | #define SCN_VISIT(Type) \ | 8428 | 3.18M | if constexpr (!detail::is_type_disabled<Type>) { \ | 8429 | 3.18M | return vis(*static_cast<Type*>(arg.m_value.ref_value)); \ | 8430 | 3.18M | } \ | 8431 | 3.18M | else { \ | 8432 | 3.18M | return vis(monostate_val); \ | 8433 | 3.18M | } | 8434 | | | 8435 | 3.18M | monostate monostate_val{}; | 8436 | | | 8437 | 3.18M | switch (arg.m_type) { | 8438 | 50.5k | case detail::arg_type::schar_type: | 8439 | 50.5k | SCN_VISIT(signed char); | 8440 | 50.5k | case detail::arg_type::short_type: | 8441 | 50.5k | SCN_VISIT(short); | 8442 | 106k | case detail::arg_type::int_type: | 8443 | 106k | SCN_VISIT(int); | 8444 | 106k | case detail::arg_type::long_type: | 8445 | 106k | SCN_VISIT(long); | 8446 | 157k | case detail::arg_type::llong_type: | 8447 | 157k | SCN_VISIT(long long); | 8448 | 207k | case detail::arg_type::uchar_type: | 8449 | 207k | SCN_VISIT(unsigned char); | 8450 | 207k | case detail::arg_type::ushort_type: | 8451 | 207k | SCN_VISIT(unsigned short); | 8452 | 263k | case detail::arg_type::uint_type: | 8453 | 263k | SCN_VISIT(unsigned); | 8454 | 263k | case detail::arg_type::ulong_type: | 8455 | 263k | SCN_VISIT(unsigned long); | 8456 | 314k | case detail::arg_type::ullong_type: | 8457 | 314k | SCN_VISIT(unsigned long long); | 8458 | 319k | case detail::arg_type::pointer_type: | 8459 | 319k | SCN_VISIT(void*); | 8460 | 324k | case detail::arg_type::bool_type: | 8461 | 324k | SCN_VISIT(bool); | 8462 | 324k | case detail::arg_type::narrow_character_type: | 8463 | 324k | SCN_VISIT(char); | 8464 | 329k | case detail::arg_type::wide_character_type: | 8465 | 329k | SCN_VISIT(wchar_t); | 8466 | 329k | case detail::arg_type::code_point_type: | 8467 | 329k | SCN_VISIT(char32_t); | 8468 | 530k | case detail::arg_type::float_type: | 8469 | 530k | SCN_VISIT(float); | 8470 | 756k | case detail::arg_type::double_type: | 8471 | 756k | SCN_VISIT(double); | 8472 | 980k | case detail::arg_type::ldouble_type: | 8473 | 980k | SCN_VISIT(long double); | 8474 | 980k | case detail::arg_type::narrow_string_view_type: | 8475 | 980k | SCN_VISIT(std::string_view); | 8476 | 985k | case detail::arg_type::narrow_string_type: | 8477 | 985k | SCN_VISIT(std::string); | 8478 | 2.08M | case detail::arg_type::wide_string_view_type: | 8479 | 2.08M | SCN_VISIT(std::wstring_view); | 8480 | 3.18M | case detail::arg_type::wide_string_type: | 8481 | 3.18M | SCN_VISIT(std::wstring); | 8482 | 3.18M | case detail::arg_type::narrow_regex_matches_type: | 8483 | 3.18M | SCN_VISIT(regex_matches); | 8484 | 3.18M | case detail::arg_type::wide_regex_matches_type: | 8485 | 3.18M | SCN_VISIT(wregex_matches); | 8486 | | | 8487 | 3.18M | case detail::arg_type::custom_type: | 8488 | 3.18M | #if !SCN_DISABLE_TYPE_CUSTOM | 8489 | 3.18M | return vis( | 8490 | 3.18M | typename Ctx::arg_type::handle(arg.m_value.custom_value)); | 8491 | | #else | 8492 | | return vis(monostate_val); | 8493 | | #endif | 8494 | | | 8495 | 0 | SCN_CLANG_PUSH | 8496 | 0 | SCN_CLANG_IGNORE("-Wcovered-switch-default") | 8497 | | | 8498 | 0 | SCN_UNLIKELY_ATTR | 8499 | 0 | case detail::arg_type::none_type: | 8500 | 0 | default: { | 8501 | 0 | return vis(monostate_val); | 8502 | 0 | } | 8503 | | | 8504 | 3.18M | SCN_CLANG_POP | 8505 | 3.18M | } | 8506 | | | 8507 | 0 | #undef SCN_VISIT | 8508 | | | 8509 | 0 | SCN_ENSURE(false); | 8510 | 0 | SCN_UNREACHABLE; | 8511 | 0 | } |
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&) Line | Count | Source | 8426 | 1.92M | { | 8427 | 1.92M | #define SCN_VISIT(Type) \ | 8428 | 1.92M | if constexpr (!detail::is_type_disabled<Type>) { \ | 8429 | 1.92M | return vis(*static_cast<Type*>(arg.m_value.ref_value)); \ | 8430 | 1.92M | } \ | 8431 | 1.92M | else { \ | 8432 | 1.92M | return vis(monostate_val); \ | 8433 | 1.92M | } | 8434 | | | 8435 | 1.92M | monostate monostate_val{}; | 8436 | | | 8437 | 1.92M | switch (arg.m_type) { | 8438 | 12.6k | case detail::arg_type::schar_type: | 8439 | 12.6k | SCN_VISIT(signed char); | 8440 | 12.6k | case detail::arg_type::short_type: | 8441 | 12.6k | SCN_VISIT(short); | 8442 | 25.3k | case detail::arg_type::int_type: | 8443 | 25.3k | SCN_VISIT(int); | 8444 | 25.3k | case detail::arg_type::long_type: | 8445 | 25.3k | SCN_VISIT(long); | 8446 | 38.0k | case detail::arg_type::llong_type: | 8447 | 38.0k | SCN_VISIT(long long); | 8448 | 50.6k | case detail::arg_type::uchar_type: | 8449 | 50.6k | SCN_VISIT(unsigned char); | 8450 | 50.6k | case detail::arg_type::ushort_type: | 8451 | 50.6k | SCN_VISIT(unsigned short); | 8452 | 63.3k | case detail::arg_type::uint_type: | 8453 | 63.3k | SCN_VISIT(unsigned); | 8454 | 63.3k | case detail::arg_type::ulong_type: | 8455 | 63.3k | SCN_VISIT(unsigned long); | 8456 | 76.0k | case detail::arg_type::ullong_type: | 8457 | 76.0k | SCN_VISIT(unsigned long long); | 8458 | 76.0k | case detail::arg_type::pointer_type: | 8459 | 76.0k | SCN_VISIT(void*); | 8460 | 76.0k | case detail::arg_type::bool_type: | 8461 | 76.0k | SCN_VISIT(bool); | 8462 | 76.0k | case detail::arg_type::narrow_character_type: | 8463 | 76.0k | SCN_VISIT(char); | 8464 | 76.0k | case detail::arg_type::wide_character_type: | 8465 | 76.0k | SCN_VISIT(wchar_t); | 8466 | 76.0k | case detail::arg_type::code_point_type: | 8467 | 76.0k | SCN_VISIT(char32_t); | 8468 | 144k | case detail::arg_type::float_type: | 8469 | 144k | SCN_VISIT(float); | 8470 | 226k | case detail::arg_type::double_type: | 8471 | 226k | SCN_VISIT(double); | 8472 | 312k | case detail::arg_type::ldouble_type: | 8473 | 312k | SCN_VISIT(long double); | 8474 | 312k | case detail::arg_type::narrow_string_view_type: | 8475 | 312k | SCN_VISIT(std::string_view); | 8476 | 312k | case detail::arg_type::narrow_string_type: | 8477 | 312k | SCN_VISIT(std::string); | 8478 | 312k | case detail::arg_type::wide_string_view_type: | 8479 | 312k | SCN_VISIT(std::wstring_view); | 8480 | 1.92M | case detail::arg_type::wide_string_type: | 8481 | 1.92M | SCN_VISIT(std::wstring); | 8482 | 1.92M | case detail::arg_type::narrow_regex_matches_type: | 8483 | 1.92M | SCN_VISIT(regex_matches); | 8484 | 1.92M | case detail::arg_type::wide_regex_matches_type: | 8485 | 1.92M | SCN_VISIT(wregex_matches); | 8486 | | | 8487 | 1.92M | case detail::arg_type::custom_type: | 8488 | 1.92M | #if !SCN_DISABLE_TYPE_CUSTOM | 8489 | 1.92M | return vis( | 8490 | 1.92M | typename Ctx::arg_type::handle(arg.m_value.custom_value)); | 8491 | | #else | 8492 | | return vis(monostate_val); | 8493 | | #endif | 8494 | | | 8495 | 0 | SCN_CLANG_PUSH | 8496 | 0 | SCN_CLANG_IGNORE("-Wcovered-switch-default") | 8497 | | | 8498 | 0 | SCN_UNLIKELY_ATTR | 8499 | 0 | case detail::arg_type::none_type: | 8500 | 0 | default: { | 8501 | 0 | return vis(monostate_val); | 8502 | 0 | } | 8503 | | | 8504 | 1.92M | SCN_CLANG_POP | 8505 | 1.92M | } | 8506 | | | 8507 | 0 | #undef SCN_VISIT | 8508 | | | 8509 | 0 | SCN_ENSURE(false); | 8510 | 0 | SCN_UNREACHABLE; | 8511 | 0 | } |
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&) Line | Count | Source | 8426 | 2.04M | { | 8427 | 2.04M | #define SCN_VISIT(Type) \ | 8428 | 2.04M | if constexpr (!detail::is_type_disabled<Type>) { \ | 8429 | 2.04M | return vis(*static_cast<Type*>(arg.m_value.ref_value)); \ | 8430 | 2.04M | } \ | 8431 | 2.04M | else { \ | 8432 | 2.04M | return vis(monostate_val); \ | 8433 | 2.04M | } | 8434 | | | 8435 | 2.04M | monostate monostate_val{}; | 8436 | | | 8437 | 2.04M | switch (arg.m_type) { | 8438 | 50.5k | case detail::arg_type::schar_type: | 8439 | 50.5k | SCN_VISIT(signed char); | 8440 | 50.5k | case detail::arg_type::short_type: | 8441 | 50.5k | SCN_VISIT(short); | 8442 | 101k | case detail::arg_type::int_type: | 8443 | 101k | SCN_VISIT(int); | 8444 | 101k | case detail::arg_type::long_type: | 8445 | 101k | SCN_VISIT(long); | 8446 | 151k | case detail::arg_type::llong_type: | 8447 | 151k | SCN_VISIT(long long); | 8448 | 202k | case detail::arg_type::uchar_type: | 8449 | 202k | SCN_VISIT(unsigned char); | 8450 | 202k | case detail::arg_type::ushort_type: | 8451 | 202k | SCN_VISIT(unsigned short); | 8452 | 252k | case detail::arg_type::uint_type: | 8453 | 252k | SCN_VISIT(unsigned); | 8454 | 252k | case detail::arg_type::ulong_type: | 8455 | 252k | SCN_VISIT(unsigned long); | 8456 | 303k | case detail::arg_type::ullong_type: | 8457 | 303k | SCN_VISIT(unsigned long long); | 8458 | 303k | case detail::arg_type::pointer_type: | 8459 | 303k | SCN_VISIT(void*); | 8460 | 303k | case detail::arg_type::bool_type: | 8461 | 303k | SCN_VISIT(bool); | 8462 | 303k | case detail::arg_type::narrow_character_type: | 8463 | 303k | SCN_VISIT(char); | 8464 | 303k | case detail::arg_type::wide_character_type: | 8465 | 303k | SCN_VISIT(wchar_t); | 8466 | 303k | case detail::arg_type::code_point_type: | 8467 | 303k | SCN_VISIT(char32_t); | 8468 | 503k | case detail::arg_type::float_type: | 8469 | 503k | SCN_VISIT(float); | 8470 | 724k | case detail::arg_type::double_type: | 8471 | 724k | SCN_VISIT(double); | 8472 | 948k | case detail::arg_type::ldouble_type: | 8473 | 948k | SCN_VISIT(long double); | 8474 | 948k | case detail::arg_type::narrow_string_view_type: | 8475 | 948k | SCN_VISIT(std::string_view); | 8476 | 948k | case detail::arg_type::narrow_string_type: | 8477 | 948k | SCN_VISIT(std::string); | 8478 | 948k | case detail::arg_type::wide_string_view_type: | 8479 | 948k | SCN_VISIT(std::wstring_view); | 8480 | 2.04M | case detail::arg_type::wide_string_type: | 8481 | 2.04M | SCN_VISIT(std::wstring); | 8482 | 2.04M | case detail::arg_type::narrow_regex_matches_type: | 8483 | 2.04M | SCN_VISIT(regex_matches); | 8484 | 2.04M | case detail::arg_type::wide_regex_matches_type: | 8485 | 2.04M | SCN_VISIT(wregex_matches); | 8486 | | | 8487 | 2.04M | case detail::arg_type::custom_type: | 8488 | 2.04M | #if !SCN_DISABLE_TYPE_CUSTOM | 8489 | 2.04M | return vis( | 8490 | 2.04M | typename Ctx::arg_type::handle(arg.m_value.custom_value)); | 8491 | | #else | 8492 | | return vis(monostate_val); | 8493 | | #endif | 8494 | | | 8495 | 0 | SCN_CLANG_PUSH | 8496 | 0 | SCN_CLANG_IGNORE("-Wcovered-switch-default") | 8497 | | | 8498 | 0 | SCN_UNLIKELY_ATTR | 8499 | 0 | case detail::arg_type::none_type: | 8500 | 0 | default: { | 8501 | 0 | return vis(monostate_val); | 8502 | 0 | } | 8503 | | | 8504 | 2.04M | SCN_CLANG_POP | 8505 | 2.04M | } | 8506 | | | 8507 | 0 | #undef SCN_VISIT | 8508 | | | 8509 | 0 | SCN_ENSURE(false); | 8510 | 0 | SCN_UNREACHABLE; | 8511 | 0 | } |
|
8512 | | |
8513 | | ///////////////////////////////////////////////////////////////// |
8514 | | // vscan |
8515 | | ///////////////////////////////////////////////////////////////// |
8516 | | |
8517 | | /** |
8518 | | * \defgroup vscan Type-erased scanning API |
8519 | | * |
8520 | | * \brief Lower-level scanning API with type-erased arguments |
8521 | | */ |
8522 | | |
8523 | | namespace detail { |
8524 | | template <typename Source> |
8525 | | using scan_result_value_type = |
8526 | | std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>, |
8527 | | std::FILE*, |
8528 | | borrowed_tail_subrange_t<Source>>; |
8529 | | } |
8530 | | |
8531 | | /** |
8532 | | * Result type returned by `vscan`. |
8533 | | * |
8534 | | * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`, |
8535 | | * `detail::borrowed_tail_subrange_t<Source>` otherwise. |
8536 | | * |
8537 | | * \ingroup vscan |
8538 | | */ |
8539 | | template <typename Source> |
8540 | | using vscan_result = scan_expected<detail::scan_result_value_type<Source>>; |
8541 | | |
8542 | | namespace detail { |
8543 | | scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source, |
8544 | | std::string_view format, |
8545 | | scan_args args); |
8546 | | scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source, |
8547 | | std::string_view format, |
8548 | | scan_args args); |
8549 | | |
8550 | | scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source, |
8551 | | std::wstring_view format, |
8552 | | wscan_args args); |
8553 | | scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source, |
8554 | | std::wstring_view format, |
8555 | | wscan_args args); |
8556 | | |
8557 | | #if !SCN_DISABLE_LOCALE |
8558 | | template <typename Locale> |
8559 | | scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc, |
8560 | | std::string_view source, |
8561 | | std::string_view format, |
8562 | | scan_args args); |
8563 | | template <typename Locale> |
8564 | | scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc, |
8565 | | scan_buffer& source, |
8566 | | std::string_view format, |
8567 | | scan_args args); |
8568 | | |
8569 | | template <typename Locale> |
8570 | | scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc, |
8571 | | std::wstring_view source, |
8572 | | std::wstring_view format, |
8573 | | wscan_args args); |
8574 | | template <typename Locale> |
8575 | | scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc, |
8576 | | wscan_buffer& source, |
8577 | | std::wstring_view format, |
8578 | | wscan_args args); |
8579 | | #endif |
8580 | | |
8581 | | scan_expected<std::ptrdiff_t> vscan_value_impl( |
8582 | | std::string_view source, |
8583 | | basic_scan_arg<scan_context> arg); |
8584 | | scan_expected<std::ptrdiff_t> vscan_value_impl( |
8585 | | scan_buffer& source, |
8586 | | basic_scan_arg<scan_context> arg); |
8587 | | |
8588 | | scan_expected<std::ptrdiff_t> vscan_value_impl( |
8589 | | std::wstring_view source, |
8590 | | basic_scan_arg<wscan_context> arg); |
8591 | | scan_expected<std::ptrdiff_t> vscan_value_impl( |
8592 | | wscan_buffer& source, |
8593 | | basic_scan_arg<wscan_context> arg); |
8594 | | |
8595 | | template <typename Range, typename CharT> |
8596 | | auto vscan_generic(Range&& range, |
8597 | | std::basic_string_view<CharT> format, |
8598 | | basic_scan_args<basic_scan_context<CharT>> args) |
8599 | | -> vscan_result<Range> |
8600 | 8.90M | { |
8601 | 8.90M | auto buffer = make_scan_buffer(range); |
8602 | | |
8603 | 8.90M | auto result = vscan_impl(buffer, format, args); |
8604 | 8.90M | if (SCN_UNLIKELY(!result)) { |
8605 | 1.50M | return unexpected(result.error()); |
8606 | 1.50M | } |
8607 | 7.40M | return make_vscan_result_range(SCN_FWD(range), *result); |
8608 | 8.90M | } _ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISQ_EEEE Line | Count | Source | 8600 | 1.99M | { | 8601 | 1.99M | auto buffer = make_scan_buffer(range); | 8602 | | | 8603 | 1.99M | auto result = vscan_impl(buffer, format, args); | 8604 | 1.99M | if (SCN_UNLIKELY(!result)) { | 8605 | 210k | return unexpected(result.error()); | 8606 | 210k | } | 8607 | 1.78M | return make_vscan_result_range(SCN_FWD(range), *result); | 8608 | 1.99M | } |
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISV_EEEE Line | Count | Source | 8600 | 2.03M | { | 8601 | 2.03M | auto buffer = make_scan_buffer(range); | 8602 | | | 8603 | 2.03M | auto result = vscan_impl(buffer, format, args); | 8604 | 2.03M | if (SCN_UNLIKELY(!result)) { | 8605 | 197k | return unexpected(result.error()); | 8606 | 197k | } | 8607 | 1.83M | return make_vscan_result_range(SCN_FWD(range), *result); | 8608 | 2.03M | } |
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISQ_EEEE Line | Count | Source | 8600 | 2.84M | { | 8601 | 2.84M | auto buffer = make_scan_buffer(range); | 8602 | | | 8603 | 2.84M | auto result = vscan_impl(buffer, format, args); | 8604 | 2.84M | if (SCN_UNLIKELY(!result)) { | 8605 | 421k | return unexpected(result.error()); | 8606 | 421k | } | 8607 | 2.42M | return make_vscan_result_range(SCN_FWD(range), *result); | 8608 | 2.84M | } |
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISV_EEEE Line | Count | Source | 8600 | 1.74M | { | 8601 | 1.74M | auto buffer = make_scan_buffer(range); | 8602 | | | 8603 | 1.74M | auto result = vscan_impl(buffer, format, args); | 8604 | 1.74M | if (SCN_UNLIKELY(!result)) { | 8605 | 394k | return unexpected(result.error()); | 8606 | 394k | } | 8607 | 1.35M | return make_vscan_result_range(SCN_FWD(range), *result); | 8608 | 1.74M | } |
_ZN3scn2v36detail13vscan_genericIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISN_EEEE Line | Count | Source | 8600 | 96.0k | { | 8601 | 96.0k | auto buffer = make_scan_buffer(range); | 8602 | | | 8603 | 96.0k | auto result = vscan_impl(buffer, format, args); | 8604 | 96.0k | if (SCN_UNLIKELY(!result)) { | 8605 | 93.8k | return unexpected(result.error()); | 8606 | 93.8k | } | 8607 | 2.17k | return make_vscan_result_range(SCN_FWD(range), *result); | 8608 | 96.0k | } |
_ZN3scn2v36detail13vscan_genericIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISN_EEEE Line | Count | Source | 8600 | 192k | { | 8601 | 192k | auto buffer = make_scan_buffer(range); | 8602 | | | 8603 | 192k | auto result = vscan_impl(buffer, format, args); | 8604 | 192k | if (SCN_UNLIKELY(!result)) { | 8605 | 191k | return unexpected(result.error()); | 8606 | 191k | } | 8607 | 912 | return make_vscan_result_range(SCN_FWD(range), *result); | 8608 | 192k | } |
|
8609 | | |
8610 | | template <typename Locale, typename Range, typename CharT> |
8611 | | auto vscan_localized_generic(const Locale& loc, |
8612 | | Range&& range, |
8613 | | std::basic_string_view<CharT> format, |
8614 | | basic_scan_args<basic_scan_context<CharT>> args) |
8615 | | -> vscan_result<Range> |
8616 | 8.90M | { |
8617 | 8.90M | #if !SCN_DISABLE_LOCALE |
8618 | 8.90M | auto buffer = detail::make_scan_buffer(range); |
8619 | | |
8620 | 8.90M | SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE |
8621 | 8.90M | auto result = detail::vscan_localized_impl(loc, buffer, format, args); |
8622 | 8.90M | SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE |
8623 | | |
8624 | 8.90M | if (SCN_UNLIKELY(!result)) { |
8625 | 1.50M | return unexpected(result.error()); |
8626 | 1.50M | } |
8627 | 7.40M | return detail::make_vscan_result_range(SCN_FWD(range), *result); |
8628 | | #else |
8629 | | static_assert(dependent_false<Locale>::value, |
8630 | | "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on"); |
8631 | | |
8632 | | return {}; |
8633 | | #endif |
8634 | 8.90M | } _ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISU_EEEE Line | Count | Source | 8616 | 1.99M | { | 8617 | 1.99M | #if !SCN_DISABLE_LOCALE | 8618 | 1.99M | auto buffer = detail::make_scan_buffer(range); | 8619 | | | 8620 | 1.99M | SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE | 8621 | 1.99M | auto result = detail::vscan_localized_impl(loc, buffer, format, args); | 8622 | 1.99M | SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE | 8623 | | | 8624 | 1.99M | if (SCN_UNLIKELY(!result)) { | 8625 | 210k | return unexpected(result.error()); | 8626 | 210k | } | 8627 | 1.78M | return detail::make_vscan_result_range(SCN_FWD(range), *result); | 8628 | | #else | 8629 | | static_assert(dependent_false<Locale>::value, | 8630 | | "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on"); | 8631 | | | 8632 | | return {}; | 8633 | | #endif | 8634 | 1.99M | } |
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISZ_EEEE Line | Count | Source | 8616 | 2.03M | { | 8617 | 2.03M | #if !SCN_DISABLE_LOCALE | 8618 | 2.03M | auto buffer = detail::make_scan_buffer(range); | 8619 | | | 8620 | 2.03M | SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE | 8621 | 2.03M | auto result = detail::vscan_localized_impl(loc, buffer, format, args); | 8622 | 2.03M | SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE | 8623 | | | 8624 | 2.03M | if (SCN_UNLIKELY(!result)) { | 8625 | 197k | return unexpected(result.error()); | 8626 | 197k | } | 8627 | 1.83M | return detail::make_vscan_result_range(SCN_FWD(range), *result); | 8628 | | #else | 8629 | | static_assert(dependent_false<Locale>::value, | 8630 | | "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on"); | 8631 | | | 8632 | | return {}; | 8633 | | #endif | 8634 | 2.03M | } |
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISU_EEEE Line | Count | Source | 8616 | 2.84M | { | 8617 | 2.84M | #if !SCN_DISABLE_LOCALE | 8618 | 2.84M | auto buffer = detail::make_scan_buffer(range); | 8619 | | | 8620 | 2.84M | SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE | 8621 | 2.84M | auto result = detail::vscan_localized_impl(loc, buffer, format, args); | 8622 | 2.84M | SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE | 8623 | | | 8624 | 2.84M | if (SCN_UNLIKELY(!result)) { | 8625 | 421k | return unexpected(result.error()); | 8626 | 421k | } | 8627 | 2.42M | return detail::make_vscan_result_range(SCN_FWD(range), *result); | 8628 | | #else | 8629 | | static_assert(dependent_false<Locale>::value, | 8630 | | "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on"); | 8631 | | | 8632 | | return {}; | 8633 | | #endif | 8634 | 2.84M | } |
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISZ_EEEE Line | Count | Source | 8616 | 1.74M | { | 8617 | 1.74M | #if !SCN_DISABLE_LOCALE | 8618 | 1.74M | auto buffer = detail::make_scan_buffer(range); | 8619 | | | 8620 | 1.74M | SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE | 8621 | 1.74M | auto result = detail::vscan_localized_impl(loc, buffer, format, args); | 8622 | 1.74M | SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE | 8623 | | | 8624 | 1.74M | if (SCN_UNLIKELY(!result)) { | 8625 | 394k | return unexpected(result.error()); | 8626 | 394k | } | 8627 | 1.35M | return detail::make_vscan_result_range(SCN_FWD(range), *result); | 8628 | | #else | 8629 | | static_assert(dependent_false<Locale>::value, | 8630 | | "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on"); | 8631 | | | 8632 | | return {}; | 8633 | | #endif | 8634 | 1.74M | } |
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISR_EEEE Line | Count | Source | 8616 | 96.0k | { | 8617 | 96.0k | #if !SCN_DISABLE_LOCALE | 8618 | 96.0k | auto buffer = detail::make_scan_buffer(range); | 8619 | | | 8620 | 96.0k | SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE | 8621 | 96.0k | auto result = detail::vscan_localized_impl(loc, buffer, format, args); | 8622 | 96.0k | SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE | 8623 | | | 8624 | 96.0k | if (SCN_UNLIKELY(!result)) { | 8625 | 93.8k | return unexpected(result.error()); | 8626 | 93.8k | } | 8627 | 2.17k | return detail::make_vscan_result_range(SCN_FWD(range), *result); | 8628 | | #else | 8629 | | static_assert(dependent_false<Locale>::value, | 8630 | | "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on"); | 8631 | | | 8632 | | return {}; | 8633 | | #endif | 8634 | 96.0k | } |
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISR_EEEE Line | Count | Source | 8616 | 192k | { | 8617 | 192k | #if !SCN_DISABLE_LOCALE | 8618 | 192k | auto buffer = detail::make_scan_buffer(range); | 8619 | | | 8620 | 192k | SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE | 8621 | 192k | auto result = detail::vscan_localized_impl(loc, buffer, format, args); | 8622 | 192k | SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE | 8623 | | | 8624 | 192k | if (SCN_UNLIKELY(!result)) { | 8625 | 191k | return unexpected(result.error()); | 8626 | 191k | } | 8627 | 912 | return detail::make_vscan_result_range(SCN_FWD(range), *result); | 8628 | | #else | 8629 | | static_assert(dependent_false<Locale>::value, | 8630 | | "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on"); | 8631 | | | 8632 | | return {}; | 8633 | | #endif | 8634 | 192k | } |
|
8635 | | |
8636 | | template <typename Range, typename CharT> |
8637 | | auto vscan_value_generic(Range&& range, |
8638 | | basic_scan_arg<basic_scan_context<CharT>> arg) |
8639 | | -> vscan_result<Range> |
8640 | 2.64M | { |
8641 | 2.64M | auto buffer = detail::make_scan_buffer(range); |
8642 | | |
8643 | 2.64M | auto result = detail::vscan_value_impl(buffer, arg); |
8644 | 2.64M | if (SCN_UNLIKELY(!result)) { |
8645 | 153k | return unexpected(result.error()); |
8646 | 153k | } |
8647 | 2.49M | return detail::make_vscan_result_range(SCN_FWD(range), *result); |
8648 | 2.64M | } _ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE Line | Count | Source | 8640 | 424k | { | 8641 | 424k | auto buffer = detail::make_scan_buffer(range); | 8642 | | | 8643 | 424k | auto result = detail::vscan_value_impl(buffer, arg); | 8644 | 424k | if (SCN_UNLIKELY(!result)) { | 8645 | 26.7k | return unexpected(result.error()); | 8646 | 26.7k | } | 8647 | 397k | return detail::make_vscan_result_range(SCN_FWD(range), *result); | 8648 | 424k | } |
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE Line | Count | Source | 8640 | 396k | { | 8641 | 396k | auto buffer = detail::make_scan_buffer(range); | 8642 | | | 8643 | 396k | auto result = detail::vscan_value_impl(buffer, arg); | 8644 | 396k | if (SCN_UNLIKELY(!result)) { | 8645 | 24.5k | return unexpected(result.error()); | 8646 | 24.5k | } | 8647 | 372k | return detail::make_vscan_result_range(SCN_FWD(range), *result); | 8648 | 396k | } |
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE Line | Count | Source | 8640 | 1.18M | { | 8641 | 1.18M | auto buffer = detail::make_scan_buffer(range); | 8642 | | | 8643 | 1.18M | auto result = detail::vscan_value_impl(buffer, arg); | 8644 | 1.18M | if (SCN_UNLIKELY(!result)) { | 8645 | 53.5k | return unexpected(result.error()); | 8646 | 53.5k | } | 8647 | 1.12M | return detail::make_vscan_result_range(SCN_FWD(range), *result); | 8648 | 1.18M | } |
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE Line | Count | Source | 8640 | 642k | { | 8641 | 642k | auto buffer = detail::make_scan_buffer(range); | 8642 | | | 8643 | 642k | auto result = detail::vscan_value_impl(buffer, arg); | 8644 | 642k | if (SCN_UNLIKELY(!result)) { | 8645 | 49.0k | return unexpected(result.error()); | 8646 | 49.0k | } | 8647 | 593k | return detail::make_vscan_result_range(SCN_FWD(range), *result); | 8648 | 642k | } |
|
8649 | | } // namespace detail |
8650 | | |
8651 | | SCN_GCC_PUSH |
8652 | | SCN_GCC_IGNORE("-Wnoexcept") |
8653 | | |
8654 | | /** |
8655 | | * Perform actual scanning from `source`, according to `format`, into the |
8656 | | * type-erased arguments at `args`. Called by `scan`. |
8657 | | * |
8658 | | * \ingroup vscan |
8659 | | */ |
8660 | | template <typename Source> |
8661 | | auto vscan(Source&& source, std::string_view format, scan_args args) |
8662 | | -> vscan_result<Source> |
8663 | 4.12M | { |
8664 | 4.12M | return detail::vscan_generic(SCN_FWD(source), format, args); |
8665 | 4.12M | } _ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE Line | Count | Source | 8663 | 1.99M | { | 8664 | 1.99M | return detail::vscan_generic(SCN_FWD(source), format, args); | 8665 | 1.99M | } |
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE Line | Count | Source | 8663 | 2.03M | { | 8664 | 2.03M | return detail::vscan_generic(SCN_FWD(source), format, args); | 8665 | 2.03M | } |
_ZN3scn2v35vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESE_NS0_6detail22borrowed_tail_subrangeISA_Xsr6rangesE14borrowed_rangeISA_EEE4typeEE4typeEEEOSA_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE Line | Count | Source | 8663 | 96.0k | { | 8664 | 96.0k | return detail::vscan_generic(SCN_FWD(source), format, args); | 8665 | 96.0k | } |
|
8666 | | |
8667 | | /** |
8668 | | * Perform actual scanning from `source`, according to `format`, into the |
8669 | | * type-erased arguments at `args`, using `loc`, if requested. Called by |
8670 | | * `scan`. |
8671 | | * |
8672 | | * \ingroup locale |
8673 | | */ |
8674 | | template <typename Source, |
8675 | | typename Locale, |
8676 | | typename = std::void_t<decltype(Locale::classic())>> |
8677 | | auto vscan(const Locale& loc, |
8678 | | Source&& source, |
8679 | | std::string_view format, |
8680 | | scan_args args) -> vscan_result<Source> |
8681 | 4.12M | { |
8682 | 4.12M | return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args); |
8683 | 4.12M | } _ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENSt3__16localeEvEENS0_13scan_expectedINS9_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEERKT0_OSD_NS9_17basic_string_viewIcNS9_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE Line | Count | Source | 8681 | 1.99M | { | 8682 | 1.99M | return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args); | 8683 | 1.99M | } |
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS6_6localeEvEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEERKT0_OSI_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE Line | Count | Source | 8681 | 2.03M | { | 8682 | 2.03M | return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args); | 8683 | 2.03M | } |
_ZN3scn2v35vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEENS2_6localeEvEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEERKT0_OSB_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE Line | Count | Source | 8681 | 96.0k | { | 8682 | 96.0k | return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args); | 8683 | 96.0k | } |
|
8684 | | |
8685 | | /** |
8686 | | * Perform actual scanning from `source` into the type-erased argument at |
8687 | | * `arg`. Called by `scan_value`. |
8688 | | * |
8689 | | * \ingroup vscan |
8690 | | */ |
8691 | | template <typename Source> |
8692 | | auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg) |
8693 | | -> vscan_result<Source> |
8694 | 821k | { |
8695 | 821k | return detail::vscan_value_generic(SCN_FWD(source), arg); |
8696 | 821k | } _ZN3scn2v311vscan_valueINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS0_14basic_scan_argINS0_18basic_scan_contextIcEEEE Line | Count | Source | 8694 | 424k | { | 8695 | 424k | return detail::vscan_value_generic(SCN_FWD(source), arg); | 8696 | 424k | } |
_ZN3scn2v311vscan_valueINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS0_14basic_scan_argINS0_18basic_scan_contextIcEEEE Line | Count | Source | 8694 | 396k | { | 8695 | 396k | return detail::vscan_value_generic(SCN_FWD(source), arg); | 8696 | 396k | } |
|
8697 | | |
8698 | | /** |
8699 | | * Perform actual scanning from `stdin`, according to `format`, into the |
8700 | | * type-erased arguments at `args`. Called by `input`. |
8701 | | * |
8702 | | * \ingroup vscan |
8703 | | */ |
8704 | | scan_error vinput(std::string_view format, scan_args args); |
8705 | | |
8706 | | namespace detail { |
8707 | | template <typename T> |
8708 | | auto scan_int_impl(std::string_view source, T& value, int base) |
8709 | | -> scan_expected<std::string_view::iterator>; |
8710 | | |
8711 | | template <typename T> |
8712 | | auto scan_int_exhaustive_valid_impl(std::string_view source) -> T; |
8713 | | |
8714 | | #if !SCN_DISABLE_TYPE_SCHAR |
8715 | | extern template auto scan_int_impl(std::string_view source, |
8716 | | signed char& value, |
8717 | | int base) |
8718 | | -> scan_expected<std::string_view::iterator>; |
8719 | | extern template auto scan_int_exhaustive_valid_impl(std::string_view) |
8720 | | -> signed char; |
8721 | | #endif |
8722 | | #if !SCN_DISABLE_TYPE_SHORT |
8723 | | extern template auto scan_int_impl(std::string_view source, |
8724 | | short& value, |
8725 | | int base) |
8726 | | -> scan_expected<std::string_view::iterator>; |
8727 | | extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short; |
8728 | | #endif |
8729 | | #if !SCN_DISABLE_TYPE_INT |
8730 | | extern template auto scan_int_impl(std::string_view source, |
8731 | | int& value, |
8732 | | int base) |
8733 | | -> scan_expected<std::string_view::iterator>; |
8734 | | extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int; |
8735 | | #endif |
8736 | | #if !SCN_DISABLE_TYPE_LONG |
8737 | | extern template auto scan_int_impl(std::string_view source, |
8738 | | long& value, |
8739 | | int base) |
8740 | | -> scan_expected<std::string_view::iterator>; |
8741 | | extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long; |
8742 | | #endif |
8743 | | #if !SCN_DISABLE_TYPE_LONG_LONG |
8744 | | extern template auto scan_int_impl(std::string_view source, |
8745 | | long long& value, |
8746 | | int base) |
8747 | | -> scan_expected<std::string_view::iterator>; |
8748 | | extern template auto scan_int_exhaustive_valid_impl(std::string_view) |
8749 | | -> long long; |
8750 | | #endif |
8751 | | #if !SCN_DISABLE_TYPE_UCHAR |
8752 | | extern template auto scan_int_impl(std::string_view source, |
8753 | | unsigned char& value, |
8754 | | int base) |
8755 | | -> scan_expected<std::string_view::iterator>; |
8756 | | extern template auto scan_int_exhaustive_valid_impl(std::string_view) |
8757 | | -> unsigned char; |
8758 | | #endif |
8759 | | #if !SCN_DISABLE_TYPE_USHORT |
8760 | | extern template auto scan_int_impl(std::string_view source, |
8761 | | unsigned short& value, |
8762 | | int base) |
8763 | | -> scan_expected<std::string_view::iterator>; |
8764 | | extern template auto scan_int_exhaustive_valid_impl(std::string_view) |
8765 | | -> unsigned short; |
8766 | | #endif |
8767 | | #if !SCN_DISABLE_TYPE_UINT |
8768 | | extern template auto scan_int_impl(std::string_view source, |
8769 | | unsigned int& value, |
8770 | | int base) |
8771 | | -> scan_expected<std::string_view::iterator>; |
8772 | | extern template auto scan_int_exhaustive_valid_impl(std::string_view) |
8773 | | -> unsigned int; |
8774 | | #endif |
8775 | | #if !SCN_DISABLE_TYPE_ULONG |
8776 | | extern template auto scan_int_impl(std::string_view source, |
8777 | | unsigned long& value, |
8778 | | int base) |
8779 | | -> scan_expected<std::string_view::iterator>; |
8780 | | extern template auto scan_int_exhaustive_valid_impl(std::string_view) |
8781 | | -> unsigned long; |
8782 | | #endif |
8783 | | #if !SCN_DISABLE_TYPE_ULONG_LONG |
8784 | | extern template auto scan_int_impl(std::string_view source, |
8785 | | unsigned long long& value, |
8786 | | int base) |
8787 | | -> scan_expected<std::string_view::iterator>; |
8788 | | extern template auto scan_int_exhaustive_valid_impl(std::string_view) |
8789 | | -> unsigned long long; |
8790 | | #endif |
8791 | | |
8792 | | } // namespace detail |
8793 | | |
8794 | | SCN_GCC_POP // -Wnoexcept |
8795 | | |
8796 | | // dummy namespace to reset formatting |
8797 | | namespace detail |
8798 | | { |
8799 | | } |
8800 | | |
8801 | | ///////////////////////////////////////////////////////////////// |
8802 | | // scan |
8803 | | ///////////////////////////////////////////////////////////////// |
8804 | | |
8805 | | /** |
8806 | | * Convenience function to construct the value to return from `scan`, |
8807 | | * based on the return value of `vscan`, and the argument store. |
8808 | | * |
8809 | | * Takes its arguments by rvalue reference to disallow extraneous copying. |
8810 | | * |
8811 | | * Note: Because `vscan` places the values it scanned into the argument |
8812 | | * store passed to it, the call to `make_scan_result` needs to happen |
8813 | | * strictly after calling `vscan`. This means, that this is UB: |
8814 | | * `return scn::make_scan_result(scn::vscan(...), std::move(args.args()));` |
8815 | | * |
8816 | | * Example: |
8817 | | * \code{.cpp} |
8818 | | * auto args = scn::make_scan_args<scan_context, Args...>(); |
8819 | | * auto result = scn::vscan(std::forward<Source>(source), format, args); |
8820 | | * return scn::make_scan_result(std::move(result), std::move(args.args())); |
8821 | | * \endcode |
8822 | | * |
8823 | | * \ingroup result |
8824 | | */ |
8825 | | template <typename Result, typename... Args> |
8826 | | auto make_scan_result(scan_expected<Result>&& result, |
8827 | | std::tuple<Args...>&& args) |
8828 | | -> scan_expected<scan_result<Result, Args...>> |
8829 | 17.8M | { |
8830 | 17.8M | if (SCN_UNLIKELY(!result)) { |
8831 | 3.01M | return unexpected(result.error()); |
8832 | 3.01M | } |
8833 | 14.8M | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; |
8834 | 17.8M | } scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<signed char>&&) Line | Count | Source | 8829 | 314k | { | 8830 | 314k | if (SCN_UNLIKELY(!result)) { | 8831 | 41.7k | return unexpected(result.error()); | 8832 | 41.7k | } | 8833 | 273k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 314k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned char>&&) Line | Count | Source | 8829 | 304k | { | 8830 | 304k | if (SCN_UNLIKELY(!result)) { | 8831 | 41.7k | return unexpected(result.error()); | 8832 | 41.7k | } | 8833 | 262k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 304k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<int>&&) Line | Count | Source | 8829 | 418k | { | 8830 | 418k | if (SCN_UNLIKELY(!result)) { | 8831 | 63.0k | return unexpected(result.error()); | 8832 | 63.0k | } | 8833 | 355k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 418k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned int>&&) Line | Count | Source | 8829 | 364k | { | 8830 | 364k | if (SCN_UNLIKELY(!result)) { | 8831 | 63.0k | return unexpected(result.error()); | 8832 | 63.0k | } | 8833 | 301k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 364k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<long long>&&) Line | Count | Source | 8829 | 404k | { | 8830 | 404k | if (SCN_UNLIKELY(!result)) { | 8831 | 41.7k | return unexpected(result.error()); | 8832 | 41.7k | } | 8833 | 363k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 404k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned long long>&&) Line | Count | Source | 8829 | 347k | { | 8830 | 347k | if (SCN_UNLIKELY(!result)) { | 8831 | 41.7k | return unexpected(result.error()); | 8832 | 41.7k | } | 8833 | 305k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 347k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<signed char>&&) Line | Count | Source | 8829 | 315k | { | 8830 | 315k | if (SCN_UNLIKELY(!result)) { | 8831 | 41.7k | return unexpected(result.error()); | 8832 | 41.7k | } | 8833 | 273k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 315k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned char>&&) Line | Count | Source | 8829 | 305k | { | 8830 | 305k | if (SCN_UNLIKELY(!result)) { | 8831 | 41.7k | return unexpected(result.error()); | 8832 | 41.7k | } | 8833 | 263k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 305k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<int>&&) Line | Count | Source | 8829 | 398k | { | 8830 | 398k | if (SCN_UNLIKELY(!result)) { | 8831 | 41.7k | return unexpected(result.error()); | 8832 | 41.7k | } | 8833 | 356k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 398k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned int>&&) Line | Count | Source | 8829 | 344k | { | 8830 | 344k | if (SCN_UNLIKELY(!result)) { | 8831 | 41.7k | return unexpected(result.error()); | 8832 | 41.7k | } | 8833 | 303k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 344k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<long long>&&) Line | Count | Source | 8829 | 405k | { | 8830 | 405k | if (SCN_UNLIKELY(!result)) { | 8831 | 41.7k | return unexpected(result.error()); | 8832 | 41.7k | } | 8833 | 363k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 405k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned long long>&&) Line | Count | Source | 8829 | 348k | { | 8830 | 348k | if (SCN_UNLIKELY(!result)) { | 8831 | 41.7k | return unexpected(result.error()); | 8832 | 41.7k | } | 8833 | 307k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 348k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<signed char>&&) Line | Count | Source | 8829 | 83.9k | { | 8830 | 83.9k | if (SCN_UNLIKELY(!result)) { | 8831 | 83.4k | return unexpected(result.error()); | 8832 | 83.4k | } | 8833 | 586 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 83.9k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned char>&&) Line | Count | Source | 8829 | 83.9k | { | 8830 | 83.9k | if (SCN_UNLIKELY(!result)) { | 8831 | 83.4k | return unexpected(result.error()); | 8832 | 83.4k | } | 8833 | 500 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 83.9k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<int>&&) Line | Count | Source | 8829 | 126k | { | 8830 | 126k | if (SCN_UNLIKELY(!result)) { | 8831 | 126k | return unexpected(result.error()); | 8832 | 126k | } | 8833 | 692 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 126k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned int>&&) Line | Count | Source | 8829 | 126k | { | 8830 | 126k | if (SCN_UNLIKELY(!result)) { | 8831 | 126k | return unexpected(result.error()); | 8832 | 126k | } | 8833 | 558 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 126k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<long long>&&) Line | Count | Source | 8829 | 84.2k | { | 8830 | 84.2k | if (SCN_UNLIKELY(!result)) { | 8831 | 83.4k | return unexpected(result.error()); | 8832 | 83.4k | } | 8833 | 830 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 84.2k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned long long>&&) Line | Count | Source | 8829 | 84.0k | { | 8830 | 84.0k | if (SCN_UNLIKELY(!result)) { | 8831 | 83.4k | return unexpected(result.error()); | 8832 | 83.4k | } | 8833 | 676 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 84.0k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<signed char>&&) Line | Count | Source | 8829 | 83.9k | { | 8830 | 83.9k | if (SCN_UNLIKELY(!result)) { | 8831 | 83.4k | return unexpected(result.error()); | 8832 | 83.4k | } | 8833 | 586 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 83.9k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned char>&&) Line | Count | Source | 8829 | 83.9k | { | 8830 | 83.9k | if (SCN_UNLIKELY(!result)) { | 8831 | 83.4k | return unexpected(result.error()); | 8832 | 83.4k | } | 8833 | 500 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 83.9k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<int>&&) Line | Count | Source | 8829 | 84.0k | { | 8830 | 84.0k | if (SCN_UNLIKELY(!result)) { | 8831 | 83.4k | return unexpected(result.error()); | 8832 | 83.4k | } | 8833 | 692 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 84.0k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned int>&&) Line | Count | Source | 8829 | 83.9k | { | 8830 | 83.9k | if (SCN_UNLIKELY(!result)) { | 8831 | 83.4k | return unexpected(result.error()); | 8832 | 83.4k | } | 8833 | 558 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 83.9k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<long long>&&) Line | Count | Source | 8829 | 84.2k | { | 8830 | 84.2k | if (SCN_UNLIKELY(!result)) { | 8831 | 83.4k | return unexpected(result.error()); | 8832 | 83.4k | } | 8833 | 830 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 84.2k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned long long>&&) Line | Count | Source | 8829 | 84.0k | { | 8830 | 84.0k | if (SCN_UNLIKELY(!result)) { | 8831 | 83.4k | return unexpected(result.error()); | 8832 | 83.4k | } | 8833 | 676 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 84.0k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<float>&&) Line | Count | Source | 8829 | 460k | { | 8830 | 460k | if (SCN_UNLIKELY(!result)) { | 8831 | 39.2k | return unexpected(result.error()); | 8832 | 39.2k | } | 8833 | 421k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 460k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<double>&&) Line | Count | Source | 8829 | 497k | { | 8830 | 497k | if (SCN_UNLIKELY(!result)) { | 8831 | 60.6k | return unexpected(result.error()); | 8832 | 60.6k | } | 8833 | 437k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 497k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<long double>&&) Line | Count | Source | 8829 | 482k | { | 8830 | 482k | if (SCN_UNLIKELY(!result)) { | 8831 | 39.2k | return unexpected(result.error()); | 8832 | 39.2k | } | 8833 | 443k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 482k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<float>&&) Line | Count | Source | 8829 | 535k | { | 8830 | 535k | if (SCN_UNLIKELY(!result)) { | 8831 | 39.2k | return unexpected(result.error()); | 8832 | 39.2k | } | 8833 | 496k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 535k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<double>&&) Line | Count | Source | 8829 | 562k | { | 8830 | 562k | if (SCN_UNLIKELY(!result)) { | 8831 | 39.2k | return unexpected(result.error()); | 8832 | 39.2k | } | 8833 | 522k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 562k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<long double>&&) Line | Count | Source | 8829 | 567k | { | 8830 | 567k | if (SCN_UNLIKELY(!result)) { | 8831 | 39.2k | return unexpected(result.error()); | 8832 | 39.2k | } | 8833 | 528k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 567k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<float>&&) Line | Count | Source | 8829 | 245k | { | 8830 | 245k | if (SCN_UNLIKELY(!result)) { | 8831 | 78.5k | return unexpected(result.error()); | 8832 | 78.5k | } | 8833 | 167k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 245k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<double>&&) Line | Count | Source | 8829 | 318k | { | 8830 | 318k | if (SCN_UNLIKELY(!result)) { | 8831 | 121k | return unexpected(result.error()); | 8832 | 121k | } | 8833 | 197k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 318k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<long double>&&) Line | Count | Source | 8829 | 281k | { | 8830 | 281k | if (SCN_UNLIKELY(!result)) { | 8831 | 78.5k | return unexpected(result.error()); | 8832 | 78.5k | } | 8833 | 202k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 281k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<float>&&) Line | Count | Source | 8829 | 245k | { | 8830 | 245k | if (SCN_UNLIKELY(!result)) { | 8831 | 78.5k | return unexpected(result.error()); | 8832 | 78.5k | } | 8833 | 167k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 245k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<double>&&) Line | Count | Source | 8829 | 275k | { | 8830 | 275k | if (SCN_UNLIKELY(!result)) { | 8831 | 78.5k | return unexpected(result.error()); | 8832 | 78.5k | } | 8833 | 197k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 275k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<long double>&&) Line | Count | Source | 8829 | 280k | { | 8830 | 280k | if (SCN_UNLIKELY(!result)) { | 8831 | 78.5k | return unexpected(result.error()); | 8832 | 78.5k | } | 8833 | 202k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 280k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<char>&&) Line | Count | Source | 8829 | 21.3k | { | 8830 | 21.3k | if (SCN_UNLIKELY(!result)) { | 8831 | 21.1k | return unexpected(result.error()); | 8832 | 21.1k | } | 8833 | 216 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 21.3k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<bool>&&) Line | Count | Source | 8829 | 21.3k | { | 8830 | 21.3k | if (SCN_UNLIKELY(!result)) { | 8831 | 21.3k | return unexpected(result.error()); | 8832 | 21.3k | } | 8833 | 0 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 21.3k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<void*>&&) Line | Count | Source | 8829 | 21.3k | { | 8830 | 21.3k | if (SCN_UNLIKELY(!result)) { | 8831 | 21.3k | return unexpected(result.error()); | 8832 | 21.3k | } | 8833 | 0 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 21.3k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 8829 | 253k | { | 8830 | 253k | if (SCN_UNLIKELY(!result)) { | 8831 | 46.5k | return unexpected(result.error()); | 8832 | 46.5k | } | 8833 | 206k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 253k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 8829 | 21.3k | { | 8830 | 21.3k | if (SCN_UNLIKELY(!result)) { | 8831 | 19.9k | return unexpected(result.error()); | 8832 | 19.9k | } | 8833 | 1.37k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 21.3k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&) Line | Count | Source | 8829 | 253k | { | 8830 | 253k | if (SCN_UNLIKELY(!result)) { | 8831 | 46.5k | return unexpected(result.error()); | 8832 | 46.5k | } | 8833 | 206k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 253k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<wchar_t>&&) Line | Count | Source | 8829 | 42.6k | { | 8830 | 42.6k | if (SCN_UNLIKELY(!result)) { | 8831 | 42.5k | return unexpected(result.error()); | 8832 | 42.5k | } | 8833 | 96 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 42.6k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<bool>&&) Line | Count | Source | 8829 | 42.6k | { | 8830 | 42.6k | if (SCN_UNLIKELY(!result)) { | 8831 | 42.6k | return unexpected(result.error()); | 8832 | 42.6k | } | 8833 | 0 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 42.6k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<void*>&&) Line | Count | Source | 8829 | 42.6k | { | 8830 | 42.6k | if (SCN_UNLIKELY(!result)) { | 8831 | 42.6k | return unexpected(result.error()); | 8832 | 42.6k | } | 8833 | 0 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 42.6k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 8829 | 42.6k | { | 8830 | 42.6k | if (SCN_UNLIKELY(!result)) { | 8831 | 42.1k | return unexpected(result.error()); | 8832 | 42.1k | } | 8833 | 576 | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 42.6k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 8829 | 2.23M | { | 8830 | 2.23M | if (SCN_UNLIKELY(!result)) { | 8831 | 95.3k | return unexpected(result.error()); | 8832 | 95.3k | } | 8833 | 2.13M | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 2.23M | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&) Line | Count | Source | 8829 | 2.23M | { | 8830 | 2.23M | if (SCN_UNLIKELY(!result)) { | 8831 | 95.3k | return unexpected(result.error()); | 8832 | 95.3k | } | 8833 | 2.13M | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 2.23M | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&) Line | Count | Source | 8829 | 277k | { | 8830 | 277k | if (SCN_UNLIKELY(!result)) { | 8831 | 26.6k | return unexpected(result.error()); | 8832 | 26.6k | } | 8833 | 251k | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 277k | } |
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&) Line | Count | Source | 8829 | 2.19M | { | 8830 | 2.19M | if (SCN_UNLIKELY(!result)) { | 8831 | 53.2k | return unexpected(result.error()); | 8832 | 53.2k | } | 8833 | 2.13M | return scan_result{SCN_MOVE(*result), SCN_MOVE(args)}; | 8834 | 2.19M | } |
|
8835 | | |
8836 | | /** |
8837 | | * The return type of `scan`, based on the type of the source, and the |
8838 | | * types of the scanned arguments. |
8839 | | */ |
8840 | | template <typename Source, typename... Args> |
8841 | | using scan_result_type = |
8842 | | scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>; |
8843 | | |
8844 | | /** |
8845 | | * \defgroup scan Basic scanning API |
8846 | | * |
8847 | | * \brief The core public-facing interface of the library |
8848 | | * |
8849 | | * The following functions use a format string syntax similar to that of |
8850 | | * `std::format`. See more at \ref format-string. |
8851 | | * |
8852 | | * When these functions take a `source` as input, it must |
8853 | | * model the `scannable_source` concept. See more at \ref scannable. |
8854 | | */ |
8855 | | |
8856 | | /** |
8857 | | * Scans `Args...` from `source`, according to the |
8858 | | * specifications given in the format string (`format`). |
8859 | | * Returns the resulting values in an object of type `scan_result`, |
8860 | | * alongside a `subrange` pointing to the unused input. |
8861 | | * |
8862 | | * Example: |
8863 | | * \code{.cpp} |
8864 | | * if (auto result = scn::scan<int>("123", "{}")) |
8865 | | * int value = result->value(); |
8866 | | * \endcode |
8867 | | * |
8868 | | * \ingroup scan |
8869 | | */ |
8870 | | template <typename... Args, |
8871 | | typename Source, |
8872 | | typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>> |
8873 | | SCN_NODISCARD auto scan(Source&& source, |
8874 | | scan_format_string<Source, Args...> format) |
8875 | | -> scan_result_type<Source, Args...> |
8876 | 4.12M | { |
8877 | 4.12M | auto args = make_scan_args<scan_context, Args...>(); |
8878 | 4.12M | auto result = vscan(SCN_FWD(source), format, args); |
8879 | 4.12M | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); |
8880 | 4.12M | } _ZN3scn2v34scanIJaENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE Line | Count | Source | 8876 | 157k | { | 8877 | 157k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 157k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 157k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 157k | } |
_ZN3scn2v34scanIJhENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE Line | Count | Source | 8876 | 152k | { | 8877 | 152k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 152k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 152k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 152k | } |
_ZN3scn2v34scanIJiENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE Line | Count | Source | 8876 | 198k | { | 8877 | 198k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 198k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 198k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 198k | } |
_ZN3scn2v34scanIJjENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE Line | Count | Source | 8876 | 171k | { | 8877 | 171k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 171k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 171k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 171k | } |
_ZN3scn2v34scanIJxENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE Line | Count | Source | 8876 | 202k | { | 8877 | 202k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 202k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 202k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 202k | } |
_ZN3scn2v34scanIJyENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE Line | Count | Source | 8876 | 173k | { | 8877 | 173k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 173k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 173k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 173k | } |
_ZN3scn2v34scanIJaENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE Line | Count | Source | 8876 | 157k | { | 8877 | 157k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 157k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 157k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 157k | } |
_ZN3scn2v34scanIJhENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE Line | Count | Source | 8876 | 152k | { | 8877 | 152k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 152k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 152k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 152k | } |
_ZN3scn2v34scanIJiENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE Line | Count | Source | 8876 | 199k | { | 8877 | 199k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 199k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 199k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 199k | } |
_ZN3scn2v34scanIJjENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE Line | Count | Source | 8876 | 172k | { | 8877 | 172k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 172k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 172k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 172k | } |
_ZN3scn2v34scanIJxENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE Line | Count | Source | 8876 | 202k | { | 8877 | 202k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 202k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 202k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 202k | } |
_ZN3scn2v34scanIJyENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE Line | Count | Source | 8876 | 174k | { | 8877 | 174k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 174k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 174k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 174k | } |
_ZN3scn2v34scanIJfENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE Line | Count | Source | 8876 | 230k | { | 8877 | 230k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 230k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 230k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 230k | } |
_ZN3scn2v34scanIJdENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE Line | Count | Source | 8876 | 238k | { | 8877 | 238k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 238k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 238k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 238k | } |
_ZN3scn2v34scanIJeENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE Line | Count | Source | 8876 | 241k | { | 8877 | 241k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 241k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 241k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 241k | } |
_ZN3scn2v34scanIJfENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE Line | Count | Source | 8876 | 267k | { | 8877 | 267k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 267k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 267k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 267k | } |
_ZN3scn2v34scanIJdENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE Line | Count | Source | 8876 | 281k | { | 8877 | 281k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 281k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 281k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 281k | } |
_ZN3scn2v34scanIJeENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE Line | Count | Source | 8876 | 283k | { | 8877 | 283k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 283k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 283k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 283k | } |
_ZN3scn2v34scanIJcERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE Line | Count | Source | 8876 | 10.6k | { | 8877 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 10.6k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 10.6k | } |
_ZN3scn2v34scanIJiERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE Line | Count | Source | 8876 | 10.6k | { | 8877 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 10.6k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 10.6k | } |
_ZN3scn2v34scanIJjERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE Line | Count | Source | 8876 | 10.6k | { | 8877 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 10.6k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 10.6k | } |
_ZN3scn2v34scanIJdERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE Line | Count | Source | 8876 | 10.6k | { | 8877 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 10.6k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 10.6k | } |
_ZN3scn2v34scanIJbERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE Line | Count | Source | 8876 | 10.6k | { | 8877 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 10.6k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 10.6k | } |
_ZN3scn2v34scanIJPvERNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEEOSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNST_ISN_E4typeEEEE Line | Count | Source | 8876 | 10.6k | { | 8877 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 10.6k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 10.6k | } |
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEERNS2_17basic_string_viewIcS5_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEEOSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSW_ISQ_E4typeEEEE Line | Count | Source | 8876 | 10.6k | { | 8877 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 10.6k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 10.6k | } |
_ZN3scn2v34scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEERNS2_17basic_string_viewIcNS4_IcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEEOSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNSX_ISR_E4typeEEEE Line | Count | Source | 8876 | 10.6k | { | 8877 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 10.6k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 10.6k | } |
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEERS6_vEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE Line | Count | Source | 8876 | 10.6k | { | 8877 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 10.6k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 10.6k | } |
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE Line | Count | Source | 8876 | 115k | { | 8877 | 115k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 115k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 115k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 115k | } |
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSC_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEEOSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNSY_ISS_E4typeEEEE Line | Count | Source | 8876 | 115k | { | 8877 | 115k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 115k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 115k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 115k | } |
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSE_PKSF_lLl4096EEESJ_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESS_NS0_6detail22borrowed_tail_subrangeISO_Xsr6rangesE14borrowed_rangeISO_EEE4typeEE4typeEJDpT_EEEEEOSO_NS0_24basic_scan_format_stringIcNST_13type_identityISO_E4typeEJDpNS15_ISZ_E4typeEEEE Line | Count | Source | 8876 | 138k | { | 8877 | 138k | auto args = make_scan_args<scan_context, Args...>(); | 8878 | 138k | auto result = vscan(SCN_FWD(source), format, args); | 8879 | 138k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8880 | 138k | } |
|
8881 | | |
8882 | | /** |
8883 | | * `scan` with explicitly supplied default values |
8884 | | * |
8885 | | * Can be used, for example, for pre-allocating a scanned string: |
8886 | | * |
8887 | | * \code{.cpp} |
8888 | | * std::string str; |
8889 | | * str.reserve(64); |
8890 | | * |
8891 | | * // As long as the read string fits in `str`, |
8892 | | * // does not allocate |
8893 | | * auto result = scn::scan<std::string>(source, "{}", |
8894 | | * {std::move(str)}); |
8895 | | * // Access the read string with result->value() |
8896 | | * \endcode |
8897 | | * |
8898 | | * \ingroup scan |
8899 | | */ |
8900 | | template <typename... Args, |
8901 | | typename Source, |
8902 | | typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>> |
8903 | | SCN_NODISCARD auto scan(Source&& source, |
8904 | | scan_format_string<Source, Args...> format, |
8905 | | std::tuple<Args...>&& initial_args) |
8906 | | -> scan_result_type<Source, Args...> |
8907 | | { |
8908 | | auto args = make_scan_args<scan_context, Args...>(SCN_FWD(initial_args)); |
8909 | | auto result = vscan(SCN_FWD(source), format, args); |
8910 | | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); |
8911 | | } |
8912 | | |
8913 | | /** |
8914 | | * \defgroup locale Localization |
8915 | | * |
8916 | | * \brief Scanning APIs that allow passing in a locale |
8917 | | */ |
8918 | | |
8919 | | /** |
8920 | | * `scan` using an explicit locale. |
8921 | | * |
8922 | | * Has no effect on its own, locale-specific scanning still needs to be |
8923 | | * opted-into on an argument-by-argument basis, with the `L` format string |
8924 | | * specifier. |
8925 | | * |
8926 | | * \code{.cpp} |
8927 | | * auto result = scn::scan<double>( |
8928 | | * std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}"); |
8929 | | * // result->value() == 3.14 |
8930 | | * \endcode |
8931 | | * |
8932 | | * \ingroup locale |
8933 | | */ |
8934 | | template <typename... Args, |
8935 | | typename Locale, |
8936 | | typename Source, |
8937 | | typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>, |
8938 | | typename = std::void_t<decltype(Locale::classic())>> |
8939 | | SCN_NODISCARD auto scan(const Locale& loc, |
8940 | | Source&& source, |
8941 | | scan_format_string<Source, Args...> format) |
8942 | | -> scan_result_type<Source, Args...> |
8943 | 4.12M | { |
8944 | 4.12M | auto args = make_scan_args<scan_context, Args...>(); |
8945 | 4.12M | auto result = vscan(loc, SCN_FWD(source), format, args); |
8946 | 4.12M | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); |
8947 | 4.12M | } _ZN3scn2v34scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE Line | Count | Source | 8943 | 157k | { | 8944 | 157k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 157k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 157k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 157k | } |
_ZN3scn2v34scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE Line | Count | Source | 8943 | 152k | { | 8944 | 152k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 152k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 152k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 152k | } |
_ZN3scn2v34scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE Line | Count | Source | 8943 | 198k | { | 8944 | 198k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 198k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 198k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 198k | } |
_ZN3scn2v34scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE Line | Count | Source | 8943 | 171k | { | 8944 | 171k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 171k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 171k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 171k | } |
_ZN3scn2v34scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE Line | Count | Source | 8943 | 202k | { | 8944 | 202k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 202k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 202k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 202k | } |
_ZN3scn2v34scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE Line | Count | Source | 8943 | 173k | { | 8944 | 173k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 173k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 173k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 173k | } |
_ZN3scn2v34scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE Line | Count | Source | 8943 | 157k | { | 8944 | 157k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 157k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 157k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 157k | } |
_ZN3scn2v34scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE Line | Count | Source | 8943 | 152k | { | 8944 | 152k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 152k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 152k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 152k | } |
_ZN3scn2v34scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE Line | Count | Source | 8943 | 199k | { | 8944 | 199k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 199k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 199k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 199k | } |
_ZN3scn2v34scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE Line | Count | Source | 8943 | 172k | { | 8944 | 172k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 172k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 172k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 172k | } |
_ZN3scn2v34scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE Line | Count | Source | 8943 | 202k | { | 8944 | 202k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 202k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 202k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 202k | } |
_ZN3scn2v34scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE Line | Count | Source | 8943 | 174k | { | 8944 | 174k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 174k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 174k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 174k | } |
_ZN3scn2v34scanIJfENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE Line | Count | Source | 8943 | 230k | { | 8944 | 230k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 230k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 230k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 230k | } |
_ZN3scn2v34scanIJdENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE Line | Count | Source | 8943 | 238k | { | 8944 | 238k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 238k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 238k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 238k | } |
_ZN3scn2v34scanIJeENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE Line | Count | Source | 8943 | 241k | { | 8944 | 241k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 241k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 241k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 241k | } |
_ZN3scn2v34scanIJfENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE Line | Count | Source | 8943 | 267k | { | 8944 | 267k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 267k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 267k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 267k | } |
_ZN3scn2v34scanIJdENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE Line | Count | Source | 8943 | 281k | { | 8944 | 281k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 281k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 281k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 281k | } |
_ZN3scn2v34scanIJeENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE Line | Count | Source | 8943 | 283k | { | 8944 | 283k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 283k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 283k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 283k | } |
_ZN3scn2v34scanIJcENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE Line | Count | Source | 8943 | 10.6k | { | 8944 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 10.6k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 10.6k | } |
_ZN3scn2v34scanIJiENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE Line | Count | Source | 8943 | 10.6k | { | 8944 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 10.6k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 10.6k | } |
_ZN3scn2v34scanIJjENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE Line | Count | Source | 8943 | 10.6k | { | 8944 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 10.6k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 10.6k | } |
_ZN3scn2v34scanIJdENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE Line | Count | Source | 8943 | 10.6k | { | 8944 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 10.6k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 10.6k | } |
_ZN3scn2v34scanIJbENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE Line | Count | Source | 8943 | 10.6k | { | 8944 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 10.6k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 10.6k | } |
_ZN3scn2v34scanIJPvENSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEERKT0_OSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSX_ISO_E4typeEEEE Line | Count | Source | 8943 | 10.6k | { | 8944 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 10.6k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 10.6k | } |
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeERNS2_17basic_string_viewIcS5_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEERKT0_OSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNS10_ISR_E4typeEEEE Line | Count | Source | 8943 | 10.6k | { | 8944 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 10.6k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 10.6k | } |
_ZN3scn2v34scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEENS2_6localeERNS2_17basic_string_viewIcNS4_IcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEERKT0_OSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNS11_ISS_E4typeEEEE Line | Count | Source | 8943 | 10.6k | { | 8944 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 10.6k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 10.6k | } |
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeERS6_vvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE Line | Count | Source | 8943 | 10.6k | { | 8944 | 10.6k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 10.6k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 10.6k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 10.6k | } |
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeIPKcSF_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESO_NS0_6detail22borrowed_tail_subrangeISK_Xsr6rangesE14borrowed_rangeISK_EEE4typeEE4typeEJDpT_EEEEERKT0_OSK_NS0_24basic_scan_format_stringIcNSP_13type_identityISK_E4typeEJDpNS14_ISV_E4typeEEEE Line | Count | Source | 8943 | 115k | { | 8944 | 115k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 115k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 115k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 115k | } |
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeIPKcSD_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEERKT0_OSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNS12_IST_E4typeEEEE Line | Count | Source | 8943 | 115k | { | 8944 | 115k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 115k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 115k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 115k | } |
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSF_PKSG_lLl4096EEESK_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEEST_NS0_6detail22borrowed_tail_subrangeISP_Xsr6rangesE14borrowed_rangeISP_EEE4typeEE4typeEJDpT_EEEEERKT0_OSP_NS0_24basic_scan_format_stringIcNSU_13type_identityISP_E4typeEJDpNS19_IS10_E4typeEEEE Line | Count | Source | 8943 | 138k | { | 8944 | 138k | auto args = make_scan_args<scan_context, Args...>(); | 8945 | 138k | auto result = vscan(loc, SCN_FWD(source), format, args); | 8946 | 138k | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); | 8947 | 138k | } |
|
8948 | | |
8949 | | /** |
8950 | | * `scan` with a locale and default values |
8951 | | * |
8952 | | * \ingroup locale |
8953 | | */ |
8954 | | template <typename... Args, |
8955 | | typename Locale, |
8956 | | typename Source, |
8957 | | typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>, |
8958 | | typename = std::void_t<decltype(Locale::classic())>> |
8959 | | SCN_NODISCARD auto scan(const Locale& loc, |
8960 | | Source&& source, |
8961 | | scan_format_string<Source, Args...> format, |
8962 | | std::tuple<Args...>&& initial_args) |
8963 | | -> scan_result_type<Source, Args...> |
8964 | | { |
8965 | | auto args = make_scan_args<scan_context, Args...>(SCN_FWD(initial_args)); |
8966 | | auto result = vscan(loc, SCN_FWD(source), format, args); |
8967 | | return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args())); |
8968 | | } |
8969 | | |
8970 | | /** |
8971 | | * `scan` a single value, with default options. |
8972 | | * |
8973 | | * Essentially equivalent to: `scn::scan<T>(source, "{}")`, |
8974 | | * except it can skip parsing the format string, gaining performance. |
8975 | | * |
8976 | | * \ingroup scan |
8977 | | */ |
8978 | | template <typename T, |
8979 | | typename Source, |
8980 | | typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>> |
8981 | | SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T> |
8982 | 821k | { |
8983 | 821k | T value; |
8984 | 821k | auto arg = detail::make_arg<scan_context>(value); |
8985 | 821k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); |
8986 | 770k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; |
8987 | 821k | } _ZN3scn2v310scan_valueIaNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_ Line | Count | Source | 8982 | 26.4k | { | 8983 | 26.4k | T value; | 8984 | 26.4k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 26.4k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 24.3k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 26.4k | } |
_ZN3scn2v310scan_valueIhNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_ Line | Count | Source | 8982 | 23.5k | { | 8983 | 23.5k | T value; | 8984 | 23.5k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 23.5k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 21.4k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 23.5k | } |
_ZN3scn2v310scan_valueIiNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_ Line | Count | Source | 8982 | 30.6k | { | 8983 | 30.6k | T value; | 8984 | 30.6k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 30.6k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 28.5k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 30.6k | } |
_ZN3scn2v310scan_valueIjNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_ Line | Count | Source | 8982 | 26.2k | { | 8983 | 26.2k | T value; | 8984 | 26.2k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 26.2k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 24.1k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 26.2k | } |
_ZN3scn2v310scan_valueIxNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_ Line | Count | Source | 8982 | 31.2k | { | 8983 | 31.2k | T value; | 8984 | 31.2k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 31.2k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 29.1k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 31.2k | } |
_ZN3scn2v310scan_valueIyNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_ Line | Count | Source | 8982 | 26.5k | { | 8983 | 26.5k | T value; | 8984 | 26.5k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 26.5k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 24.4k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 26.5k | } |
_ZN3scn2v310scan_valueIaNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_ Line | Count | Source | 8982 | 26.4k | { | 8983 | 26.4k | T value; | 8984 | 26.4k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 26.4k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 24.3k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 26.4k | } |
_ZN3scn2v310scan_valueIhNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_ Line | Count | Source | 8982 | 23.4k | { | 8983 | 23.4k | T value; | 8984 | 23.4k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 23.4k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 21.3k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 23.4k | } |
_ZN3scn2v310scan_valueIiNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_ Line | Count | Source | 8982 | 30.0k | { | 8983 | 30.0k | T value; | 8984 | 30.0k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 30.0k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 27.9k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 30.0k | } |
_ZN3scn2v310scan_valueIjNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_ Line | Count | Source | 8982 | 26.1k | { | 8983 | 26.1k | T value; | 8984 | 26.1k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 26.1k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 24.0k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 26.1k | } |
_ZN3scn2v310scan_valueIxNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_ Line | Count | Source | 8982 | 30.6k | { | 8983 | 30.6k | T value; | 8984 | 30.6k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 30.6k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 28.5k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 30.6k | } |
_ZN3scn2v310scan_valueIyNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_ Line | Count | Source | 8982 | 26.5k | { | 8983 | 26.5k | T value; | 8984 | 26.5k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 26.5k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 24.4k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 26.5k | } |
_ZN3scn2v310scan_valueIfNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_ Line | Count | Source | 8982 | 49.5k | { | 8983 | 49.5k | T value; | 8984 | 49.5k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 49.5k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 46.2k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 49.5k | } |
_ZN3scn2v310scan_valueIdNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_ Line | Count | Source | 8982 | 51.6k | { | 8983 | 51.6k | T value; | 8984 | 51.6k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 51.6k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 48.3k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 51.6k | } |
_ZN3scn2v310scan_valueIeNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_ Line | Count | Source | 8982 | 52.6k | { | 8983 | 52.6k | T value; | 8984 | 52.6k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 52.6k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 49.3k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 52.6k | } |
_ZN3scn2v310scan_valueIfNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_ Line | Count | Source | 8982 | 54.2k | { | 8983 | 54.2k | T value; | 8984 | 54.2k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 54.2k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 50.9k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 54.2k | } |
_ZN3scn2v310scan_valueIdNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_ Line | Count | Source | 8982 | 57.2k | { | 8983 | 57.2k | T value; | 8984 | 57.2k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 57.2k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 53.9k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 57.2k | } |
_ZN3scn2v310scan_valueIeNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_ Line | Count | Source | 8982 | 57.8k | { | 8983 | 57.8k | T value; | 8984 | 57.8k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 57.8k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 54.5k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 57.8k | } |
_ZN3scn2v310scan_valueINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJT_EEEEEOSJ_ Line | Count | Source | 8982 | 53.0k | { | 8983 | 53.0k | T value; | 8984 | 53.0k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 53.0k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 50.8k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 53.0k | } |
_ZN3scn2v310scan_valueINSt3__117basic_string_viewIcNS2_11char_traitsIcEEEENS0_6ranges6detail9subrange_8subrangeIPKcSC_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJT_EEEEEOSH_ Line | Count | Source | 8982 | 53.0k | { | 8983 | 53.0k | T value; | 8984 | 53.0k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 53.0k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 50.8k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 53.0k | } |
_ZN3scn2v310scan_valueINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSE_PKSF_lLl4096EEESJ_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESS_NS0_6detail22borrowed_tail_subrangeISO_Xsr6rangesE14borrowed_rangeISO_EEE4typeEE4typeEJT_EEEEEOSO_ Line | Count | Source | 8982 | 64.2k | { | 8983 | 64.2k | T value; | 8984 | 64.2k | auto arg = detail::make_arg<scan_context>(value); | 8985 | 64.2k | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); | 8986 | 62.0k | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}}; | 8987 | 64.2k | } |
|
8988 | | |
8989 | | /** |
8990 | | * `scan` a single value, with default options, and a default value. |
8991 | | * |
8992 | | * \ingroup scan |
8993 | | */ |
8994 | | template <typename T, |
8995 | | typename Source, |
8996 | | std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr> |
8997 | | SCN_NODISCARD auto scan_value(Source&& source, T initial_value) |
8998 | | -> scan_result_type<Source, T> |
8999 | | { |
9000 | | auto arg = detail::make_arg<scan_context>(initial_value); |
9001 | | SCN_TRY(it, vscan_value(SCN_FWD(source), arg)); |
9002 | | return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(initial_value)}}; |
9003 | | } |
9004 | | |
9005 | | /** |
9006 | | * Scan from `stdin`. |
9007 | | * |
9008 | | * Equivalent to `scn::scan<...>(stdin, ...)`. |
9009 | | * |
9010 | | * \code{.cpp} |
9011 | | * auto result = scn::input<int>("{}"); |
9012 | | * \endcode |
9013 | | * |
9014 | | * \ingroup scan |
9015 | | */ |
9016 | | template <typename... Args> |
9017 | | SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format) |
9018 | | -> scan_result_type<std::FILE*, Args...> |
9019 | | { |
9020 | | auto args = make_scan_args<scan_context, Args...>(); |
9021 | | auto err = vinput(format, args); |
9022 | | if (SCN_UNLIKELY(!err)) { |
9023 | | return unexpected(err); |
9024 | | } |
9025 | | return scan_result{stdin, SCN_MOVE(args.args())}; |
9026 | | } |
9027 | | |
9028 | | /** |
9029 | | * Write msg to stdout, and call `input<Args...>(format)` |
9030 | | * |
9031 | | * \ingroup scan |
9032 | | */ |
9033 | | template <typename... Args> |
9034 | | SCN_NODISCARD auto prompt(const char* msg, |
9035 | | scan_format_string<std::FILE*, Args...> format) |
9036 | | -> scan_result_type<std::FILE*, Args...> |
9037 | | { |
9038 | | std::printf("%s", msg); |
9039 | | std::fflush(stdout); |
9040 | | return input<Args...>(format); |
9041 | | } |
9042 | | |
9043 | | namespace detail { |
9044 | | template <typename T> |
9045 | | inline constexpr bool is_scan_int_type = |
9046 | | std::is_integral_v<T> && !std::is_same_v<T, char> && |
9047 | | !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> && |
9048 | | !std::is_same_v<T, bool>; |
9049 | | } |
9050 | | |
9051 | | /** |
9052 | | * Fast integer reading. |
9053 | | * |
9054 | | * Quickly reads an integer from a `std::string_view`. Skips preceding |
9055 | | * whitespace. |
9056 | | * |
9057 | | * Reads in the specified base, |
9058 | | * allowing a base prefix. Set `base` to `0` to detect the base from the |
9059 | | * input. `base` must either be `0`, or in range `[2, 36]`. |
9060 | | * |
9061 | | * \ingroup scan |
9062 | | */ |
9063 | | template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr> |
9064 | | SCN_NODISCARD auto scan_int(std::string_view source, int base = 10) |
9065 | | -> scan_result_type<std::string_view, T> |
9066 | | { |
9067 | | T value{}; |
9068 | | SCN_TRY(it, detail::scan_int_impl(source, value, base)); |
9069 | | return scan_result{ranges::subrange{it, source.end()}, std::tuple{value}}; |
9070 | | } |
9071 | | |
9072 | | namespace detail { |
9073 | | template <bool Val, typename T> |
9074 | | inline constexpr bool dependent_bool = Val; |
9075 | | } |
9076 | | |
9077 | | /** |
9078 | | * Very fast integer reading. |
9079 | | * |
9080 | | * Quickly reads an integer from a `std::string_view`. |
9081 | | * |
9082 | | * Be very careful when using this one! |
9083 | | * Its speed comes from some very heavy assumptions about the validity of |
9084 | | * the input: |
9085 | | * - `source` must not be empty. |
9086 | | * - `source` contains nothing but the integer: no leading or trailing |
9087 | | * whitespace, no extra junk. Leading `-` is allowed for signed types, |
9088 | | * no `+` is allowed. |
9089 | | * - The parsed value does not overflow. |
9090 | | * - The input is a valid base-10 integer. |
9091 | | * Breaking these assumptions will lead to UB. |
9092 | | * |
9093 | | * \ingroup scan |
9094 | | */ |
9095 | | template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr> |
9096 | | SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T |
9097 | | { |
9098 | | static_assert( |
9099 | | detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>, |
9100 | | "scan_int_exhaustive_valid requires a little endian environment"); |
9101 | | return detail::scan_int_exhaustive_valid_impl<T>(source); |
9102 | | } |
9103 | | |
9104 | | SCN_END_NAMESPACE |
9105 | | } // namespace scn |